我有一个用户名字段,可以输入字母数字字符(包括下划线和连字符)或用户的电子邮件作为用户名。我添加了一个字母数字字符的RegEx验证和一个带有“OR”条件的电子邮件,但这似乎没有用。我可以验证无效字符,它可以识别我输入电子邮件但是它传递了错误的电子邮件,如'test @ test'。这是我使用的RegEx
"/^[a-z0-9_-]{3,16}$/|"+ @"[\w\s\.@_]*"
答案 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}$