我有一个我创建的表单,我正在尝试检查电子邮件字段以确保它是一封电子邮件。我只希望人们能够输入@ msu.edu电子邮件地址。我写了脚本来检查电子邮件,但它不起作用,我不知道如何使用它只能使用@ msu.edu。
<form id="contact-form" class="contact-form" method="post" action="" onSubmit="return checkbae()" name="validation">
<div class="form-group row" id="price">
<div class="col-lg-4">
<input type="text" name="fname" class="form-control" id="name" placeholder="First *" required >
</div>
<div class="col-lg-4">
<input type="text" name="lname" class="form-control" id="name" placeholder="Last *" required>
</div>
<div class="col-lg-4">
<input type="text" name="email" class="form-control" id="name" placeholder="E-mail *" required>
</div>
</div>
</div>
<div class="form-group row" align="center">
<div class="col-lg-12" align="center">
<button type="submit" class="button default">SEND <i class="glyphicon glyphicon-send"></i></button>
</div>
</div>
</form>
<script language="JavaScript1.2">
var testresults
function checkemail(){
var str=document.validation.emailcheck.value
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(str))
testresults=true
else{
alert("Please input a valid email address!")
testresults=false
}
return (testresults)
}
</script>
<script>
function checkbae(){
if (document.layers||document.getElementById||document.all)
return checkemail()
else
return true
}
</script>
答案 0 :(得分:1)
您确定已经编写了检查脚本吗? ; d
在脚本中,您可以访问表单中不存在的字段emailcheck
。
解决方案:
<强>更新强>
经过测试和工作。
function checkMail() {
var email = document.validation.email.value.toLowerCase();
var suffix = '@msu.edu';
var result = email.indexOf(suffix, email.length - suffix.length) !== -1;
alert('Valid email found: ' + result);
return result;
}
更新2
使用RegEx。也经过测试和工作。
function checkMail() {
var email = document.validation.email.value.toLowerCase();
var filter = /^([\w-]+(?:\.[\w-]+)*)@msu.edu/i;
var result = filter.test(email);
alert('Valid email found: ' + result);
return result;
}