Java初学习 - 正则表达式检查邮箱有效性

来源:互联网 发布:高帮板鞋 知乎 编辑:程序博客网 时间:2024/04/20 13:41

  1. 合法E-mail地址:     
  2. 1. 必须包含一个并且只有一个符号“@”     
  3. 2. 第一个字符不得是“@”或者“.”     
  4. 3. 不允许出现“@.”或者.@     
  5. 4. 结尾不得是字符“@”或者“.”     
  6. 5. 允许“@”前的字符中出现“+”     
  7. 6. 不允许“+”在最前面,或者“+@”     
  8.     
  9. 正则表达式如下:     
  10. -----------------------------------------------------------------------     
  11. ^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$     
  12. -----------------------------------------------------------------------     
  13.     
  14. 字符描述:     
  15. ^ :匹配输入的开始位置。     
  16. \:将下一个字符标记为特殊字符或字面值。     
  17. * :匹配前一个字符零次或几次。     
  18. + :匹配前一个字符一次或多次。     
  19. (pattern) 与模式匹配并记住匹配。     
  20. x|y:匹配 x 或 y。     
  21. [a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。     
  22. \w :与任何单词字符匹配,包括下划线。     
  23. $ :匹配输入的结尾。    

  1. //电子邮件    
  2.  String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";    
  3.  Pattern regex = Pattern.compile(check);    
  4.  Matcher matcher = regex.matcher("dffdfdf@qq.com");    
  5.  boolean isMatched = matcher.matches();    
  6.  System.out.println(isMatched);    
  7.     
  8.      
  9.     
  10. /* 电话号码  
  11.   
  12. String check = "^(13[4,5,6,7,8,9]|15[0,8,9,1,7]|188|187)\\d{8}$";  
  13.  Pattern regex = Pattern.compile(check);  
  14.  Matcher matcher = regex.matcher("13555655606");  
  15.  boolean isMatched = matcher.matches();  
  16.  System.out.println(isMatched);  
  17.   
  18. */ 


或使用表达式"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$" 


RegexBuddy的默认检查Email方式为“\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b”


0 0
原创粉丝点击