正则表达式混淆了语法高亮

时间:2013-07-01 22:13:14

标签: javascript regex syntax syntax-highlighting

我在这里遗漏了什么吗?这个正则表达式用于电子邮件验证,它看起来像正斜杠之一正在抛弃语法高亮。

enter image description here

var emailRegex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;

var validEmail = emailRegex.test(newEmail.email);

我做错了吗?是否有另一种方法来格式化这个正则表达式以防止这种情况发生?

我无法找到这个问题的答案。

1 个答案:

答案 0 :(得分:3)

你可能只是逃避正则表达式中的/。否则语法高亮显示器认为它关闭正则表达式文字。

//-----------------------vv
var re = /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;

或者您可以使用您正在使用的任何编辑器提交错误。


请注意,SO上的语法高亮显示器与原始文件没有问题。

var re = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;