正则表达式错误 - 在jquery中没有重复

时间:2014-02-19 10:29:47

标签: jquery regex

我尝试使用正则表达式来验证电子邮件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 

请告诉我那里发生了什么。

谢谢。

2 个答案:

答案 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 -------------------------------