正则表达式错误 - 在 jquery 中无需重复 [重复]

Posted

技术标签:

【中文标题】正则表达式错误 - 在 jquery 中无需重复 [重复]【英文标题】:regex error - nothing to repeat in jquery [duplicate] 【发布时间】:2014-03-19 14:55:58 【问题描述】:

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

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

谢谢。

【问题讨论】:

在这里尝试这个作为可能的重复:***.com/questions/2855865/… 【参考方案1】:

*+ 无效,您必须在+* 之间进行选择

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]+)*)$/;

【讨论】:

【参考方案2】:

尝试将您的正则表达式包装在' ' 中,并使用\ 转义您的正则表达式中的'

var emailxP = '/^(\w+([0-9-+.\']\w+)*+\@+\w+\.([\\a-z]2,3)(\.\w+))$/';
// ------------------------- ^ here -------------------------------

【讨论】:

以上是关于正则表达式错误 - 在 jquery 中无需重复 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery正则表达式返回url [重复]

jquery.find()无法识别的正则表达式[重复]

从正则表达式中得到错误“在偏移量 1 处没有重复的内容”

C ++的函数正则表达式在linux(CentOS)中但在OSX中遇到错误[重复]

#1139 - 从正则表达式中得到错误“重复运算符操作数无效”

逗号分隔的列表正则表达式 [重复]