【问题标题】:Javascript Email RegEx Problem with JSLint?JSLint 的 Javascript 电子邮件 RegEx 问题?
【发布时间】:2011-04-08 08:55:42
【问题描述】:

我正在尝试使用以下函数验证电子邮件地址的格式是否正确。
这个函数工作正常,但是它不会构建,因为 JSLint 给了我以下错误。 : error (Lint occured): Unescaped '['.

我已经尝试转义需要转义的字符,这解决了 JSLint 的问题,但 RegExp 不再起作用。

这里有关于我应该做什么的帮助吗?

function validateEmail(email) 
{ 
  var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
  ".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
  -Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
  return email.match(re) 
}

【问题讨论】:

    标签: javascript regex escaping email-validation jslint


    【解决方案1】:

    如果您在角色类中转义开头的“[”(以及结尾的“]”),应该解决问题:

    var re = /^(([^<>()\[\]\\.,;:\s@\"]+(\.[^<>()\[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    

    我刚刚在http://www.jslint.com/ 上检查了这个,它似乎消除了错误。

    【讨论】:

      【解决方案2】:
      ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
      

      试试这个正则表达式

      【讨论】:

      • 这一次给出了同样的 lint 错误,未转义 '-'。因此,当我转义“-”时,RegEx 不再起作用
      猜你喜欢
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2016-09-22
      • 2019-05-18
      • 2011-08-13
      相关资源
      最近更新 更多