email地址的验证
这几天要写一个web项目,其中用户注册要用到email地址的验证,写出我参考的一个算法。
范例说明:
本范例要实现的功能是:在网页中加入一个表单,表单提供一个输入email地址的文本框。提交表单时,会触发自定义的函数checkemail()。在该函数中,首先检验是否输入有email地址,如果没有输入则弹出对话框“email地址不能为空”;如果输入有地址则检验它的有效性。
代码实现如下:
<script language="javascript">
function checkemail(){
if(document.register.email.value.length != 0){
if(document.register.email.value.charAt(0) == "." ||
document.register.email.value.charAt(0) == "@" ||
document.register.email.value.indexOf('@',0) == -1 ||
document.register.email.value.indexOf('.',0) == -1 ||
document.register.email.value.lastIndexOf("@") == document.register.email.value.length-1 ||
document.register.email.value.lastIndexOf(".") == document.register.email.value.length-1) {
alert("输入的email地址格式不正确!");
document.register.email.focus();
return false;
}else{
alert("email地址不能为空!");
document.register.email.focus();
return false;
}
return false;
}
}
</script>
<form name="register" method="post" action onsubmit="return checkemail();">
<p align="center">
email:<input type="text" name="email" size="20" />
<input type="submit" value="提交" name="b1" />
<input type="reset" value="重置" name="b2" />
</p>
</form>
范例总结:
本范例中判断输入的email是否为空是通过 == 来完成的。判断“@”和 “.”的位置是否正确,则用到了 charAt() indexOf()和lastIndexOf()三个函数。当然验证email地址是否正确的算法有很多。大家也可以参照本范例自己动动手写一个。