【问题标题】:regex error - nothing to repeat in jquery [duplicate]正则表达式错误 - 在 jquery 中无需重复 [重复]
【发布时间】: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 

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

谢谢。

【问题讨论】:

标签: jquery regex


【解决方案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 -------------------------------
    

    【讨论】:

      猜你喜欢
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2013-10-05
      • 1970-01-01
      • 2013-01-24
      相关资源
      最近更新 更多