我尝试使用正则表达式来验证电子邮件ID。当我使用这个表达式时:
var emailxP = /^(\w+([0-9-+.']\w+)*+\@+\w+\.([\\a-z]{2,3})(\.\w+))$/;
表达式不起作用 铬正在显示
ncaught SyntaxError: Invalid regular expression: /^(\w+([0-9-+.']\w+)*+\@+\w+\.([\\a-z]{2,3})(\.\w+))$/: Nothing to repeat
请告诉我那里发生了什么。
谢谢。
答案 0 :(得分:3)
*+
无效,您必须在+
和*
var emailxP = /^(\w+([0-9-+.']\w+)+\@+\w+\.([\\a-z]{2,3})(\.\w+))$/;
// here ___^
或
var emailxP = /^(\w+([0-9-+.']\w+)*\@+\w+\.([\\a-z]{2,3})(\.\w+))$/;
// here ___^
也逃脱破折号
var emailxP = /^(\w+([0-9\-+.']\w+)*\@+\w+\.([\\a-z]{2,3})(\.\w+))$/;
// here ___^
为什么a
双重逃脱?
var emailxP = /^(\w+([0-9\-+.']\w+)*\@+\w+\.([\\a-z]{2,3})(\.\w+))$/;
// here ___^^
我建议:
var emailxP = /^(\w[\w+.'-]*@\w+(\.[a-z]+)*)$/;
答案 1 :(得分:0)
尝试将正则表达式包装在' '
内,并使用'
转义正则表达式中的\
:
var emailxP = '/^(\w+([0-9-+.\']\w+)*+\@+\w+\.([\\a-z]{2,3})(\.\w+))$/';
// ------------------------- ^ here -------------------------------