【问题标题】:Regular Expressions for JavaScript not normal emails [closed]JavaScript的正则表达式不是普通电子邮件[关闭]
【发布时间】:2014-09-09 23:55:17
【问题描述】:

我有这样的 RE:

/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi

要查找电子邮件,现在我需要正则表达式来查找这样的电子邮件:

a.p.agarwaal AT gmail DOT com
a.p.agarwaal (at) gmail.com
a.p.agarwaal_AT_gmail_DOT_com

【问题讨论】:

  • 人们不使用这样的格式是因为他们希望解析他们的地址吗?
  • “你能帮帮我吗?”那不是很好吗?
  • -1 如果你能写出第一个正则表达式,你写一个覆盖@|\(at\)|_AT_)的扩展有什么问题?
  • 顺便说一句,你原来的正则表达式有问题。即使有 . (点)电子邮件结尾..
  • @masum7: 最后的点实际上是一个有效的字符。

标签: javascript regex


【解决方案1】:

试试这个:

([a-zA-Z0-9.-]+(?:@| AT | \(AT\) |_AT_)[a-zA-Z0-9.-]+.[a-zA-Z0-9._-]+)

【讨论】:

  • 帮助垃圾邮件发送者后感觉如何? :-D
  • 你不认识我!!!我不是垃圾邮件发送者!!!我只需要完成学校项目!
  • 他没有说你是垃圾邮件发送者,问题是垃圾邮件发送者可能会遇到这个答案。既然您有解决方案,请关闭问题,如果您有任何理解。
  • 任何知道一点正则表达式的人都可以编写代码。请记住,即使virus or illegal-activity related questions are allowed
  • 另一方面,将家庭作业众包起来也不是特别合乎道德,@user2982527。
【解决方案2】:

你可以这样做:http://jsfiddle.net/29h4dL9h/

    var email0 = "a.p.agarwaal@gmail.com"
    var email1 = "a.p.agarwaal (at) gmail.com"
    var email2 = "a.p.agarwaal_AT_gmail.com"
    var email3 = "a.p.agarwaal AT gmail DOT com"

    alert(validateEmail(email0))
    alert(validateEmail(email1))
    alert(validateEmail(email2))
    alert(validateEmail(email3))

    function validateEmail(email) 
    { 
        var exp = /^([a-zA-Z0-9_.+-])+(\@|\s\(at\)\s|\sAT\s|\_AT\_)(([a-zA-Z0-9-])+(\.|\sDOT\s))+([a-zA-Z0-9]{2,4})+$/ig;
        return exp.test(email);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2017-07-05
    • 2013-01-20
    • 2014-05-11
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多