100分求验证Email格式的算法

discolt 2004-07-23 04:19:45
如题
...全文
507 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
MyXin 2004-07-26
  • 打赏
  • 举报
回复
shine333(enihs)! You are right
shine333 2004-07-26
  • 打赏
  • 举报
回复
since 1.4 String.matches方法可以,参照java.util.regex.Pattern

pattern = "\\w(\\.\\w)*@\\w(\\.\\w)+"

大概是这样吧,

除了@和. , 其他字符都应该符合\w,

username中也可以有".", 当然也可以没有,所以是\\w(\\.\\w)*
而@之后的地址名,我认为一定会出现".",所以\\w(\\.\\w)+

而楼上的最后的".com"之类的限制有问题,比如.co,.jp,
朋友别哭 2004-07-25
  • 打赏
  • 举报
回复
up
shuneng 2004-07-24
  • 打赏
  • 举报
回复
up
eastsoho 2004-07-24
  • 打赏
  • 举报
回复
帮不了你!!
shangqiao 2004-07-24
  • 打赏
  • 举报
回复
可以看看Struts里面的验证代码
zhukejun 2004-07-24
  • 打赏
  • 举报
回复
js版:

function isEmail(s)
{
var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true;
}else{
return false;
}
}
noscar 2004-07-23
  • 打赏
  • 举报
回复
袄,不能改啊。。。。。
tomuno 2004-07-23
  • 打赏
  • 举报
回复
notice
noscar 2004-07-23
  • 打赏
  • 举报
回复
public class Hello {

public static void main(String[] args) {

String valide="@.";
String mail="noscar@163.com";
int flag=0;
if(mail!=null)
{
for(int i=0;i<mail.length();i++)
{
if(valide.indexOf(mail.charAt(i))!=-1)
{
flag++;
}
}
}

if(flag==valide.length())
{
System.out.println("OK ! E_mail is valide !");
}
else
{
System.out.println("Invalide E_mail Address !");
}
}
}

小弟写了一个,但象 @msn or @hot 的 E_mail 就通不过了,,,,你可以把 if(flag==valide.length) 改成: if(flag<=valide.length), 也就是说:不验证 "."....
你自己 选了。。。。
MyXin 2004-07-23
  • 打赏
  • 举报
回复
JDK1.4以上运用String的match(String pattern)方法.

例如:(邮件格式假设为 X*@X*.XXX X-数字或字母)
String pattern="\\w*@\\w*[.]\\w{1,3}";
System.out.println(pattern);
String testStr = "a@163.com";
System.out.println(testStr.matches(pattern));

\\w 指字母和数字
{1,3} 指最后一段为1到3位

更详细的邮件格式需要自己搞清楚。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧