example,
<input id="email" name="email" style="width:100%;" type="text">
javascript,
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
这在大多数情况下都可以正常工作,
但如果输入是
2★@2.com
像这种带有特殊字符的输入
它没有验证它。
有什么好的解决办法吗?
Read 停止使用复杂的正则表达式验证电子邮件地址 http://davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/.
正如它所说,这封电子邮件:
"Look at all these spaces!"@example.com
是完全有效的。
结论 :
- 不要使用复杂的正则表达式来验证电子邮件。
/@/
可以检查大多数用户错误
- 通过发送电子邮件进行验证并等待答复
说真的,任何使用复杂的正则表达式解决问题的尝试都是注定要失败的,而且修复后通常情况会变得更糟
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)