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的辛苦工作

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