email地址的验证

这几天要写一个web项目,其中用户注册要用到email地址的验证,写出我参考的一个算法。

范例说明:
本范例要实现的功能是:在网页中加入一个表单,表单提供一个输入email地址的文本框。提交表单时,会触发自定义的函数checkemail()。在该函数中,首先检验是否输入有email地址,如果没有输入则弹出对话框“email地址不能为空”;如果输入有地址则检验它的有效性。

代码实现如下:

[b] [color=blue] <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 οnsubmit="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>[/color][/b]

范例总结:
本范例中判断输入的email是否为空是通过 == 来完成的。判断“@”和 “.”的位置是否正确,则用到了 charAt() indexOf()和lastIndexOf()三个函数。当然验证email地址是否正确的算法有很多。大家也可以参照本范例自己动动手写一个。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于Java的Email地址验证,我可以为您提供以下代码作为参考: ``` public boolean isValidEmail(String email) { if (email == null || email.trim().isEmpty()) { return false; } if (email.indexOf("@") < 1 || email.lastIndexOf(".") < email.indexOf("@")+2 || email.lastIndexOf(".") + 2 > email.length()) { return false; } if (email.startsWith(".") || email.startsWith("@") || email.endsWith(".") || email.endsWith("@")) { return false; } if (email.indexOf("@") != email.lastIndexOf("@")) { return false; } if (email.indexOf(".") < email.indexOf("@")) { return false; } if (email.indexOf("@") + 1 == email.indexOf(".")) { return false; } if (email.indexOf("..") >= 0 || email.indexOf(".@") >= 0 || email.indexOf("@.") >= 0) { return false; } String suffix = email.substring(email.lastIndexOf(".") + 1); if (!suffix.equalsIgnoreCase("com") && !suffix.equalsIgnoreCase("net") && !suffix.equalsIgnoreCase("cn") && !suffix.equalsIgnoreCase("org")) { return false; } return true; } ``` 这段代码实现了您提到的所有验证规则,其: 1. 首先判断Email地址是否为空或空格,如果是,则直接返回false; 2. 判断Email地址是否包含“@”和“.”,如果不包含,则直接返回false; 3. 判断Email地址的“@”和“.”是否位于首尾,如果是,则直接返回false; 4. 判断Email地址“@”和“.”的数量是否合法,如果不合法,则直接返回false; 5. 判断Email地址“@”和“.”的顺序是否合法,如果不合法,则直接返回false; 6. 判断Email地址是否有连续出现的“.”或者“.@”或者“@.”,如果有,则直接返回false; 7. 判断Email地址的结尾是否是合法的后缀,如果不是,则直接返回false; 8. 最后,如果所有的验证都通过,则返回true。 希望这段代码能够对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值