如何验证用户名字段,该字段可以将电子邮件作为用户名,但也可以使用字母数字字符

时间:2013-06-26 14:01:08

标签: javascript jquery regex

我有一个用户名字段,可以输入字母数字字符(包括下划线和连字符)或用户的电子邮件作为用户名。我添加了一个字母数字字符的RegEx验证和一个带有“OR”条件的电子邮件,但这似乎没有用。我可以验证无效字符,它可以识别我输入电子邮件但是它传递了错误的电子邮件,如'test @ test'。这是我使用的RegEx

"/^[a-z0-9_-]{3,16}$/|"+ @"[\w\s\.@_]*"

2 个答案:

答案 0 :(得分:1)

如果您可以向其发送邮件,则电子邮件有效。

即使空格也是电子邮件中的有效字符。电子邮件中唯一需要的是@

所以你的正则表达式将是

 /^[\w-]{3,16}$|^[^@]+@[^@]+$/

验证电子邮件的正则表达式[\w\s\.@_]*可能会使您失去50%的潜在客户费用:P。


看一下这些文章

底线是这些标准从未被遵循,所以最好坚持下去 ^[^@]+@[^@]+$

答案 1 :(得分:0)

创建两个正则表达式并使用||用于真相验证。

您需要将+。[A-Z] {2,4}附加到电子邮件地址以进行正确的域名扩展。它接受2-4个字符的域扩展名。你可以相应地调整4。

  ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$