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. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值