首页 > 新闻动态 >  

新闻动态
NEWS

java应用正则表达式——实例

添加时间:2013-8-5 点击量:

Java代码  



  1. import java.util.regex.Matcher;  

  2. import java.util.regex.Pattern;  

  3.   

  4. / 

  5.   @author        Der     

  6.   @date          2006-10-23 

  7.   @packeage_name regex 

  8.    

  9.  /  

  10. public class RegexChk  

  11. {  

  12.   

  13.     public  boolean startCheck(String reg,String string)  

  14.     {  

  15.         boolean tem=false;  

  16.           

  17.         Pattern pattern = Pattern.compile(reg);  

  18.         Matcher matcher=pattern.matcher(string);  

  19.           

  20.         tem=matcher.matches();  

  21.         return tem;  

  22.     }  

  23.       

  24.   

  25.          / 

  26.       查验整数,实用于正整数、负整数、0,负整数不克不及以-0开首,  

  27.            正整数不克不及以0开首 

  28.        

  29.       /  

  30.     public boolean checkNr(String nr)  

  31.     {  

  32.         String reg=^(-?)[1-9]+\\d|0;  

  33.         return startCheck(reg,nr);  

  34.     }  

  35.   

  36.     / 

  37.       号码验证,11位,不知道具体的号码段,只是验证开首必须是1和位数 

  38.       /  

  39.     public boolean checkCellPhone(String cellPhoneNr)  

  40.     {  

  41.         String reg=^[1][\\d]{10};  

  42.         return startCheck(reg,cellPhoneNr);  

  43.     }  

  44.       

  45.     / 

  46.       查验空白符 

  47.       /  

  48.     public boolean checkWhiteLine(String line)  

  49.     {  

  50.         String regex=(\\s|\\t|\\r)+;  

  51.           

  52.         return startCheck(regex,line);  

  53.     }  

  54.       

  55.       

  56.     / 

  57.       搜检EMAIL地址 

  58.       用户名和网站名称必须>=1位字符 

  59.       地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾 

  60.       /  

  61.     public boolean checkEmailWithSuffix(String email)  

  62.     {  

  63.         String regex=\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn);  

  64.           

  65.         return startCheck(regex,email);  

  66.     }  

  67.       

  68.       

  69.     / 

  70.       搜检EMAIL地址 

  71.       用户名和网站名称必须>=1位字符 

  72.       地址结尾必须是2位以上,如:cn,test,com,info 

  73.       /  

  74.     public boolean checkEmail(String email)  

  75.     {  

  76.         String regex=\\w+\\@\\w+\\.\\w{2,};  

  77.           

  78.         return startCheck(regex,email);  

  79.     }  

  80.       

  81.     / 

  82.       搜检邮政编码(中国),6位,第一位必须长短0开首,其他5位数字为0-9 

  83.       /  

  84.     public boolean checkPostcode(String postCode)  

  85.     {  

  86.         String regex=^[1-9]\\d{5};  

  87.         return startCheck(regex,postCode);  

  88.     }  

  89.       

  90.     / 

  91.       查验用户名 

  92.       取值局限为a-z,A-Z,0-9,_,汉字,不克不及以_结尾 

  93.       用户名有最小长度和最大长度限制,比如用户名必须是4-20位 

  94.       /  

  95.     public boolean checkUsername(String username,int min,int max)  

  96.     {  

  97.         String regex=[\\w\u4e00-\u9fa5]{+min++max+}(?<!_);  

  98.         return startCheck(regex,username);  

  99.     }  

  100.     / 

  101.       查验用户名 

  102.       取值局限为a-z,A-Z,0-9,_,汉字,不克不及以_结尾 

  103.       有最小位数限制的用户名,比如:用户名起码为4位字符 

  104.       /  

  105.     public boolean checkUsername(String username,int min)  

  106.     {  

  107.         //[\\w\u4e00-\u9fa5]{2,}?  

  108.         String regex=[\\w\u4e00-\u9fa5]{+min+,}(?<!_);  

  109.           

  110.         return startCheck(regex,username);  

  111.     }  

  112.       

  113.     / 

  114.       查验用户名 

  115.       取值局限为a-z,A-Z,0-9,_,汉字 

  116.       起码一位字符,最大字符位数无穷制,不克不及以_结尾 

  117.       /  

  118.     public boolean checkUsername(String username)  

  119.     {  

  120.         String regex=[\\w\u4e00-\u9fa5]+(?<!_);  

  121.         return startCheck(regex,username);  

  122.     }  

  123.       

  124.     / 

  125.        查看IP地址是否合法 

  126.       /  

  127.     public boolean checkIP(String ipAddress)  

  128.     {  

  129.         String regex=(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +  

  130.                      (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +  

  131.                      (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\. +  

  132.                      (\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]);  

  133.           

  134.         return startCheck(regex,ipAddress);  

  135.     }  

  136.       

  137.     / 

  138.       验证国内德律风号码 

  139.       格局:010-67676767,区号长度3-4位,必须以0开首,号码是7-8位 

  140.       /  

  141.     public boolean checkPhoneNr(String phoneNr)  

  142.     {  

  143.         String regex=^[0]\\d{2,3}\\-\\d{7,8};  

  144.           

  145.         return startCheck(regex,phoneNr);  

  146.     }  

  147.       

  148.     / 

  149.       验证国内德律风号码 

  150.       格局:6767676, 号码位数必须是7-8位,头一位不克不及是0 

  151.       /  

  152.     public boolean checkPhoneNrWithoutCode(String phoneNr)  

  153.     {  

  154.         String reg=^[1-9]\\d{6,7};  

  155.           

  156.         return startCheck(reg,phoneNr);  

  157.     }  

  158.       

  159.     / 

  160.       验证国内德律风号码 

  161.       格局:0106767676,共11位或者12位,必须是0开首 

  162.       /  

  163.     public boolean checkPhoneNrWithoutLine(String phoneNr)  

  164.     {  

  165.         String reg=^[0]\\d{10,11};  

  166.           

  167.         return startCheck(reg,phoneNr);  

  168.     }  

  169.       

  170.     / 

  171.       验证国内身份证号码:15或18位,由数字构成,不克不及以0开首 

  172.       /  

  173.     public boolean checkIdCard(String idNr)  

  174.     {  

  175.         String reg=^[1-9](\\d{14}|\\d{17});  

  176.           

  177.         return startCheck(reg,idNr);  

  178.     }  

  179.       

  180.     / 

  181.       网址验证<br> 

  182.       合适类型:<br> 

  183.               http://www.test.com<br> 

  184.               http://163.com 

  185.       /  

  186.     public boolean checkWebSite(String url)  

  187.     {  

  188.         //http://www.163.com  

  189.         String reg=^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+);  

  190.           

  191.         return startCheck(reg,url);  

  192.     }  

  193. }  


本文转载自:http://der.iteye.com/blog/199489     在此感激: 博主uidin的辛苦工作

彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
分享到: