Wil*_*eri 35 javascript regex validation
我不知道因为我的正则表达式不正确:
var domain = "google\.com\.br";
var reEmail = new RegExp("^([A-Za-z0-9_\-\.])+\@" + domain + "$");
Run Code Online (Sandbox Code Playgroud)
我需要这个来验证电子邮件,例如: reEmail.test("contact@google.com.br");
我收到此错误:
字符类中的范围乱序
t.n*_*ese 73
因为使用String创建了RegExp,所以_\-\.变为_-. 无效范围.(这是一个范围从_ ,.并且不正确)
你需要双倍逃脱它:
new RegExp("^([A-Za-z0-9_\\-\\.])+@" + domain + "$");
Run Code Online (Sandbox Code Playgroud)
这样,在String中\\成为一个\然后用于-在RegExp中转义.
编辑:
如果您通过String创建RegExp,那么记录结果总是有帮助的,这样您就可以看到是否正确完成了所有操作:
例如,你的RegExp部分
console.log("^([A-Za-z0-9_\-\.])+\@");
Run Code Online (Sandbox Code Playgroud)
结果是:
^([A-Za-z0-9_-.])+@
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48327 次 |
| 最近记录: |