我在这里遗漏了什么吗?该正则表达式用于电子邮件验证,看起来其中一个正斜杠正在消除语法突出显示。
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);
我做错了什么吗?是否有另一种方法来格式化此正则表达式以防止这种情况发生?
我无法找到这个问题的答案。
最佳答案
您可能只需转义正则表达式中的 /
即可。否则语法荧光笔认为它关闭了正则表达式文字。
//-----------------------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])?/;
关于javascript - 正则表达式搞乱了语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414520/