使用电子邮件地址作为用户名的正则表达式?

时间:2014-04-02 15:09:03

标签: regex asp.net-mvc validation data-annotations

是否有正则表达式使用普通用户名或电子邮件地址作为用户名?我希望用户能够输入自己的用户名,或者只是使用他们的电子邮件地址作为用户名,我无法找到有关如何正确实现此目的的任何可靠信息。它仍然必须通过验证,例如:如果用户选择创建自己的用户名,则必须遵守我的用户名政策,这限制了用字母或数字开头,没有特殊字符,或者如果他们输入电子邮件,则必须遵守电子邮件规则(典型的电子邮件规则)。有人对此提出建议吗?

1 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

/^(?:[A-Z\d][A-Z\d_-]{5,10}|[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4})$/i

表达式有两部分:

  • 第一部分验证用户名。随意优化此部分以匹配您自己的政策。这里的正则表达式接受以字母或数字开头的用户名。用户名不能超过11个字符。 <{1}}和'_'是允许的。

  • 第二部分验证电子邮件。在撰写本文时,此正则表达式validates 99% of emails正在使用中。但是,您可以使用其他电子邮件正则表达式。

描述

Regular expression visualization

参考