Javascript ? 不正确的正则表达式
我一直在试图找出一个变量里面是否包含一个数字。出于某种原因,我输入了(exp.)“Majorpassword09”,它只是打印了一个假的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上。 您的代码显示您正在使用花哨的引号。像这些:”。
//变量
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.*/