对于我的作业,我正在写一份注册表。我的问题是如何连接第一个语句和下面的函数,以便当有人在文本框中输入电子邮件时,它会检查电子邮件是否有效? (的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;
}
答案 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>