刚刚测试了这个函数来验证email..However,它没有验证email..Why中点的存在或不存在这种情况发生了,我如何解决这个问题?
<script type="text/javascript">
function isEmail(textbox){
var reg4 =/^(\w+)@(\w+).(\w+)$/;
if(reg4.test(textbox.value)){
return true;
}
return false;
}
</script>发布于 2011-07-19 15:18:54
不,这是不够的。
特别是,它不能处理所有这些(合法)变体:
具有两个以上标签的
只有一个标签的
域名中的
user@[1.2.3.4]通过正则表达式验证电子邮件地址是。有关正式语法定义,请参阅section 3.4.1 of RFC 5322。
发布于 2011-07-19 15:17:32
请勿使用正则表达式来验证电子邮件地址。电子邮件地址可以包含很多你想象不到的东西(比如空格),而且用户更有可能无意中输入一个无效的电子邮件地址。只需检查是否有@,然后发送确认电子邮件,如果你想。
来自an answer to a related question
对于这个问题没有好的(和实际的,参见the fully RFC 822 compliant regex)正则表达式。语法(在RFC5322中指定)对此来说太复杂了。使用真正的解析器,或者,更好的方法是尝试验证(发送消息)。
发布于 2011-07-19 15:16:38
点在正则表达式中有意义。
使用[\.]而不是.
https://stackoverflow.com/questions/6743496
复制相似问题