Javascript编码HTML

时间:2012-10-17 23:52:39

标签: javascript html registration email-validation

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

<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;
}

2 个答案:

答案 0 :(得分:1)

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

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

N.B。您可以使用自闭标签作为输入。您还应该分配name的{​​{1}}属性,因为该属性在提交给服务器时用作数据的密钥。

答案 1 :(得分: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>