Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ? 不正确的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript ? 不正确的正则表达式

Javascript ? 不正确的正则表达式,javascript,regex,Javascript,Regex,我一直在试图找出一个变量里面是否包含一个数字。出于某种原因,我输入了(exp.)“Majorpassword09”,它只是打印了一个假的 //变量 var regex=new RegExp('.*\d.') var str='Scorpio08' //主要 函数reg1(){ if(正则表达式测试(str)){ console.log('true'); }否则{ console.log('false'); } } reg1()您很可能在mac上。 您的代码显示您正在使用花哨的引号。像这些:”。

我一直在试图找出一个变量里面是否包含一个数字。出于某种原因,我输入了(exp.)“Majorpassword09”,它只是打印了一个假的

//变量
var regex=new RegExp('.*\d.')
var str='Scorpio08'
//主要
函数reg1(){
if(正则表达式测试(str)){
console.log('true');
}否则{
console.log('false');
}
}

reg1()您很可能在mac上。 您的代码显示您正在使用花哨的引号。像这些:
。您需要使用普通引号,如
,和

这是你问题的解决办法

//变量
var regex=new RegExp(“%d.*”)
var str=“Scorpio08”
//主要
函数reg1(){
if(正则表达式测试(str))
{
console.log(“真”);
}否则{
控制台日志(“假”);
}
}

reg1();
使用
字符串创建RegExp对象时,必须使用两个反斜杠才能正确转义

var regex = new RegExp(‘.*\\d.*’)


您的代码当前抛出“代码> UnthSytRealError:无效或意外的令牌@ JS线3 。考虑首先纠正您的语法。单引号是否与您的代码相同?如果是错误的,应该用<代码> > /代码>替换。为什么不使用经过测试的<代码> /^ \d+$//测试(STR)?
使用带引号的表单时,必须转义反斜杠。RegExp构造函数通常需要一个模式字符串。它只接受ES5之后的另一个regex。因此,这应该是
new RegExp(.*\\d.*)
/.*\d.*/
,因为
new RegExp(/.*\d.*/)
是一件很不符合逻辑的事情。@3limin4t0r好吧。我会编辑我的答案。因为
\
是字符串上下文中的一个特殊字符,所以你必须用另一个
\
.*\d.
是文本
*d.
.*\\d来转义它*“
是文本
*\d.*
我已经试着把它放到jsitor中,我已经完成了你在这里描述的所有操作,但是我仍然得到了脚本错误,这就是问题所在it@3limin4t0r哎呀!对不起!
var regex = /.*\d.*/