javascript - 电子邮件验证javascript

标签 javascript html validation email-validation

这个 javascript 函数 (checkValidity) 是否正确?

function checkTextBox(textBox)
{
   if (!checkValidity(textBox.getValue()))
       displayError("Error title", "Error message", textBox);
       textBox.focus();
}

function checkValidity(e) 
{
    var email;
    email = "/^[^@]+@[^@]+.[a-z]{2,}$/i";

    if (!e.match(email)){
            return false;
    else
            return true;
    }
}

编辑:感谢所有答案!谢谢!

最佳答案

电子邮件地址在 RFC 5322, § 3.4 中定义.相关的非终端是addr-spec。由于域规范的复杂性和支持旧的、过时的形式,这个定义有点奇怪。但是,您可以使用以下方法对大多数形式进行过度近似:

^[-0-9A-Za-z!#$%&'*+/=?^_`{|}~.]+@[-0-9A-Za-z!#$%&'*+/=?^_`{|}~.]+

请注意,有大量的合法字符。大多数正则表达式都把列表弄错了。是的,所有这些字符在电子邮件地址中都是合法的。

这个正则表达式不会匹配一些非常不常用的形式,比如 "noodle soup @ 9"@[what the.example.com] -- 这是一个合法的电子邮件地址!

关于javascript - 电子邮件验证javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2783672/

相关文章:

c# - 在 ASP.NET C# 上上传时如何验证文件大小?

javascript - meteor 如何处理异步调用

javascript - 两个单选按钮共享一个 "id"?

android - Galaxy S3 Android WebView 中的 Signal 11 SIGSEGV 崩溃

javascript - 有条件地显示 EJS 数据

javascript - 将倍数 'background' 添加到 css 类中

jquery - 检查输入文件字段是否为空jquery

python - 验证功能存在问题

javascript - 在将文件大小传递到服务器端之前在客户端进行处理

javascript - 悬停时如何增加多行文本的下划线宽度