0

对于我的任务,我正在写一份注册表。我的问题是我将如何连接第一个语句和下面的函数,以便当有人在文本框中输入他们的电子邮件时,它会检查电子邮件是否有效?(document.getElementById('user').value)

<input id="user" type="text" onblur="isUserNameValid();"></input><br/>


function isEmailValid(email) {
"use strict";
        var e = email.split("@"), local = /[^\w.!#$%&*+-\/=?^_{|}~]/, domain = /[\w.-]/;
if (e.length !== 2) {
    return false;
}
if (local.test(e[0])) {
    return false;
}
if (e[0].length > 253) {
    return false;
}
if ((e[0][0] === ".") || (/\.\./.test(e[0]))) {
    return false;
}
if (domain.test(e[1])) {
    return false;
}
if (e[1].length > 253) {
    return false;
}
if (e[1][0] === "." || /\.\./.test(e[1]) || e[1][e[1].length - 1] === ".") {
    return false;
}
return true;
}
4

2 回答 2

1

当您确认可以使用 HTML5 时,只需将您的输入更改为以下内容,浏览器将在提交表单时为您验证电子邮件。

<input id="user" name="user" type="email" /><br/>

注意您可以使用自闭合标签进行输入。您还应该分配 as 的name属性,input即在将数据提交到服务器时用作数据的键。

于 2012-10-18T00:00:48.490 回答
0
   <input type="text" id="email" name="email"  onblur="javascript:return validate();"/>

<script>
    function validate() {

        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        var address = document.getElementById("email").value;
        if (reg.test(address) == false) {

            alert('Invalid Email Address');
            return false;
        } else {
            alert('valid Email Address');
            return false;
        }
    }

</script>
于 2012-10-18T10:06:30.580 回答