一般的邮箱格式为:123456@qq.com,若用indexOf来判断此email地址,那么当用户输入了123456@qq的时候,检测仍可通过,明显这个地址缺少了后面的“.com”,所以这是不行的,最好还是使用正则表达式来判断:
<script type="text/javascript">
function ischeckemail(){
var email = document.getElementById("emailname").value;
if(email != "") {
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
//调用正则验证test()函数
isok= reg.test(email);
if(!isok) {
alert("邮箱格式不正确,请重新输入!");
document.getElementById("emailname").focus();
return false;
}
};
}
</script>
<input type="text" id="emailname">
<input type="submit" value="检测Email地址格式是否正确" click="return ischeckemail()">