Javascript New Regex()添加尾部斜杠
尝试在js中对电子邮件字段执行regexp。 这就是我到目前为止所做的:Javascript New Regex()添加尾部斜杠,javascript,regex,Javascript,Regex,尝试在js中对电子邮件字段执行regexp。 这就是我到目前为止所做的: var regex = '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,16}?$/g', emailRegex = new RegExp(regex); 如果I console.log()返回emailRegex: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,16}?$\/g/ 我想要的是: /[a-z
var regex = '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,16}?$/g',
emailRegex = new RegExp(regex);
如果I console.log()返回emailRegex:
/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,16}?$\/g/
我想要的是:
/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,16}?$/g
由于它现在返回的电子邮件是无效的错误。使用我想要的regexp(不带尾随斜杠)有效,使用控制台中返回的regexp.log()表示不匹配
如何从RegExp中删除尾部斜杠?正则表达式/flags格式是正则表达式的文本格式;如果使用的是
RegExp
构造函数,则不使用它;相反,您使用两个离散字符串:newregexp(“regularexpression”、“flags”)
因此:
当然,在这种情况下,不需要新的RegExp
:
var emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,16}?$/g;
要向文本正则表达式添加标志,需要使用
/
文本形式:
var r = /matching/g;
除非显式使用RegExp
构造函数,否则在通过字符串创建时不能提供标志:
var r = new RegExp('matching', 'g');
var regex='^[a-zA-Z0-9.\%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,16}?$,emailRegex=new RegExp(regex,'g')
@WiktorStribiżew谢谢你这么做了-regex新手,不知道你可以将全局文件传递给RegExp类haha#scrub:)谢谢,不知道你可以将标志内容传递给类-RegExp新手haha将在8分钟内接受
var r = new RegExp('matching', 'g');