[转]java正则表达式验证手机号码ip,邮箱

 

 http://blog.sina.com.cn/s/blog_4b2fd9350100oa43.html

http://zkl.iteye.com/blog/1103313

 

1.java验证IP地址:

Java代码  

  1. Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");   
  2. Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例   
  3. System.out.println(matcher.matches());  

view plain

  1. Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");  
  2. Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例  
  3. System.out.println(matcher.matches());  


2. java验证日期时间,解决润月:

Java代码  

  1. Pattern pattern = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");   
  2. Matcher matcher = pattern.matcher("2000-02-29 23:59:59");   
  3. System.out.println(matcher.matches());  

view plain

  1. Pattern pattern = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");  
  2. Matcher matcher = pattern.matcher("2000-02-29 23:59:59");  
  3. System.out.println(matcher.matches());  


3.java验证邮箱格式:

Java代码  

  1. Pattern pattern = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");   
  2. Matcher matcher = pattern.matcher("a@aa.com");   
  3. System.out.println(matcher.matches());  

view plain

  1. Pattern pattern = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");  
  2. Matcher matcher = pattern.matcher("a@aa.com");  
  3. System.out.println(matcher.matches());  



根据实际开发于2009年9月7日最新统计:
中国电信发布中国3G号码段:中国联通185,186;中国移动188,187;中国电信189,180共6个号段。
3G业务专属的180-189号段已基本分配给各运营商使用, 其中180、189分配给中国电信,187、188归中国移动使用,185、186属于新联通。
中国移动拥有号码段:139、138、137、136、135、134、159、158、157(3G)、152、151、150、188(3G)、187(3G);14个号段
中国联通拥有号码段:130、131、132、155、156(3G)、186(3G)、185(3G);6个号段
中国电信拥有号码段:133、153、189(3G)、180(3G);4个号码段
移动:
     2G号段(GSM网络)有139,138,137,136,135,134(0-8),159,158,152,151,150
     3G号段(TD-SCDMA网络)有157,188,187
     147是移动TD上网卡专用号段.
联通:
     2G号段(GSM网络)有130,131,132,155,156
     3G号段(WCDMA网络)有186,185
电信:
     2G号段(CDMA网络)有133,153
     3G号段(CDMA网络)有189,180

检验手机号码和邮箱的类

Java代码 

  1. package com.ccit.networld.ccs.common.util;   
  2. import java.io.IOException;     
  3. import java.util.regex.Matcher;     
  4. import java.util.regex.Pattern;     
  5. import org.apache.log4j.Logger;   
  6.     
  7. public class ClassPathResource {    
  8.  private static final Logger logger = Logger.getLogger(ClassPathResource.class);   
  9.     public static boolean isMobileNO(String mobiles){        
  10.         Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");        
  11.         Matcher m = p.matcher(mobiles);        
  12.         logger.info(m.matches()+"---");        
  13.         return m.matches();        
  14.     }    
  15.       
  16.     public static boolean isEmail(String email){        
  17.      String str="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";   
  18.         Pattern p = Pattern.compile(str);        
  19.         Matcher m = p.matcher(email);        
  20.         logger.info(m.matches()+"---");        
  21.         return m.matches();        
  22.     }    
  23.     public static void main(String[] args) throws IOException {        
  24.         System.out.println(ClassPathResource.isEmail("189666666666@1-89.co-m.cn"));        
  25.     }    

  
       //验证邮箱   true表示是邮箱,false表示非邮箱
       public static boolean checkEmail(String email){  
           if(email.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")){  
               return true;  
           }else{  
               return false;  
           }  
       }  
       
      //验证是否为手机    true表示是手机号,false表示非手机号
       public static boolean checkPhone(String phone){  
           Pattern p = Pattern.compile("^((13[0-9])|(15[0-9])|(14[0-9])|(18[0,5-9]))\\d{8}$");        
           Matcher m = p.matcher(phone);   
          if(m.matches()){
              return true;
          }
          return false;
       } 

 

}

posted @ 2011-11-29 18:58  IT一族  阅读(225)  评论(0)    收藏  举报