首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下面的函数可以验证电子邮件吗?

问下面的函数可以验证电子邮件吗?
EN

Stack Overflow用户
提问于 2011-07-19 15:14:48
回答 5查看 109关注 0票数 0

刚刚测试了这个函数来验证email..However,它没有验证email..Why中点的存在或不存在这种情况发生了,我如何解决这个问题?

代码语言:javascript
复制
<script type="text/javascript">
  function isEmail(textbox){

    var reg4 =/^(\w+)@(\w+).(\w+)$/;
    if(reg4.test(textbox.value)){

            return true;
        }

    return false;
}
</script>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-19 15:18:54

不,这是不够的。

特别是,它不能处理所有这些(合法)变体:

  1. 引用了用户部件,例如"my name"@example.com

  1. Internationalised域名(IDN)

具有两个以上标签的

  1. 域

只有一个标签的

  1. 域(是的,这些是合法的)

域名中的

  1. 连字符

  1. user@[1.2.3.4]

通过正则表达式验证电子邮件地址是。有关正式语法定义,请参阅section 3.4.1 of RFC 5322。

票数 3
EN

Stack Overflow用户

发布于 2011-07-19 15:17:32

请勿使用正则表达式来验证电子邮件地址。电子邮件地址可以包含很多你想象不到的东西(比如空格),而且用户更有可能无意中输入一个无效的电子邮件地址。只需检查是否有@,然后发送确认电子邮件,如果你想。

来自an answer to a related question

对于这个问题没有好的(和实际的,参见the fully RFC 822 compliant regex)正则表达式。语法(在RFC5322中指定)对此来说太复杂了。使用真正的解析器,或者,更好的方法是尝试验证(发送消息)。

票数 2
EN

Stack Overflow用户

发布于 2011-07-19 15:16:38

点在正则表达式中有意义。

使用[\.]而不是.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6743496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档