【问题标题】:Need Regular Expression for Email Id with special characters .()<>\\" space ;需要带有特殊字符的电子邮件 ID 的正则表达式 .()<>\\" 空格;
【发布时间】:2015-04-01 10:45:29
【问题描述】:

我需要一个包含特殊字符的电子邮件 ID 正则表达式,例如 .;&lt;&gt;[]\" 空格甚至 @ 符号。它之间不应允许任何多个空格。用户名不能以空格开头,但可以在中间包含空格,例如

“约翰”史密斯\@yahoo.com

Email ID 可以如下所示

very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com 

正则表达式应该像这样与 C# 一起使用 [RegularExpression("^[a-zA-Z0-9_\\.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$", ErrorMessage = "E-mail is not valid")] 和 jQuery

提前致谢

【问题讨论】:

  • 输入字符串是否被隔离,而不是在更大的文本中?
  • 不,他们不是孤立的
  • 然后,您应该提供上下文。没有任何正则表达式可以匹配用户名部分带有空格的电子邮件,而在它之前没有特定的边界。
  • 是的,用户名不能以空格开头,但中间可以有一个空格,例如 John Smith@yahoo.com
  • 我如何知道电子邮件的用户名部分何时开始?请提供搜索匹配项的示例输入。

标签: c# jquery regex email


【解决方案1】:

试试这个

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" 
                runat="server" ErrorMessage="Please Enter Valid Email ID"
                    ValidationGroup="Submit" ControlToValidate="txtEmail" 
                    CssClass="requiredFieldValidateStyle"
                    ForeColor="Red" 
                    ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
                    </asp:RegularExpressionValidator>

【讨论】:

    【解决方案2】:

    好的,我会发布这个,但你应该记住,如果在没有边界/锚的情况下使用它可能会返回意想不到的结果:

    ([-a-zA-Z0-9_\\:;,(). @"[\]<>]+)@((?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6})
    

    这是demo

    这个正则表达式可以在 C# 和 JQuery 中使用,因为它不使用任何命名的字符类、平衡组、命名的捕获组等。

    【讨论】:

      【解决方案3】:

      试试这个来验证邮件:

      ^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
      

      测试正则表达式:see demo

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 2011-02-20
        • 1970-01-01
        • 2013-11-23
        • 1970-01-01
        相关资源
        最近更新 更多