Java 通用的验证类

这个Java类提供了多种字符串验证方法,包括验证身份证、姓名、整数、日期、电话号码、邮箱、时间等,确保输入的数据符合特定格式。
摘要由CSDN通过智能技术生成
  1. 呵呵 今天还有一点时间整理了一下java的通过验证格式  以备以后使用 大笑
  2.   
  3. import java.util.regex.Matcher;  
  4. import java.util.regex.Pattern;  
  5.   
  6.    
  7. public class ValidateUtil 
  8. {  
  9.   
  10.     // 保存每个月的天数  
  11.     private static final int[] DAYS_OF_MONTH = { 31283130313031,  
  12.             3130313031 };  
  13.   
  14.     // 日历的起始年份  
  15.     public static final int START_YEAR = 1900;  
  16.   
  17.     // 日历的结束年份  
  18.     public static final int END_YEAR = 2100;  
  19.   
  20.     private static final String ZERO_STRING = "0";  
  21.   
  22.     /*************************************************************************** 
  23.      * 匹配英文字母 或者汉字 如"Shenzhen" "深圳" 
  24.      *  
  25.      * @param str 待匹配字符串 
  26.      * @return true 匹配通过 false 匹配失败 
  27.      */  
  28.     public static boolean isValidEnglishOrChinese(String str)  
  29.     {  
  30.         // 1、[A-Za-z]* 英文字母的匹配 一次或者多次  
  31.         // 2、[\u4E00-\u9FA5]* 汉字匹配 一次或者多次  
  32.         boolean flag = false;  
  33.         Pattern p = Pattern.compile("^[A-Za-z]*|[\u4E00-\u9FA5]*$");  
  34.         if (str != null)  
  35.         {  
  36.             Matcher match = p.matcher(str);  
  37.             flag = match.matches();  
  38.         }  
  39.         return flag;  
  40.     }  
  41.   
  42.     /*************************************************************************** 
  43.      * 匹配英中文姓名 与英文名 英文名格式为:姓与名之间用/隔开 例如Green/Jim King 
  44.      *  
  45.      * @param str 待匹配字符串 
  46.      * @return true 匹配通过 false 匹配失败 
  47.      */  
  48.     public static boolean isValidName(String str)  
  49.     {  
  50.         // 1、[A-Za-z]* 英文字母的匹配 一次或者多次  
  51.         // 2、[\u4E00-\u9FA5]* 汉字匹配 一次或者多次  
  52.         boolean flag = false;  
  53.         Pattern p = Pattern  
  54.                 .compile("^([A-Za-z]+[\\/][A-Za-z]+)|[\u4E00-\u9FA5]*");  
  55.         if (str != null)  
  56.         {  
  57.             Matcher match = p.matcher(str);  
  58.             flag = match.matches();  
  59.         }  
  60.         return flag;  
  61.     }  
  62.   
  63.     /*************************************************************************** 
  64.      * 验证身份证号码 15位 18位 
  65.      *  
  66.      * @param cardStr 身份证字符串 
  67.      * @return true 合法 false 不合法 
  68.      */  
  69.     public static boolean isValidIdCard(String cardStr)  
  70.     {  
  71.         boolean flag = false;  
  72.         Pattern pEighteen = Pattern.compile("^\\d{17}(\\d{1}|x)$");// 18位身份证号码  
  73.         // 包括末尾是“x”的校验码  
  74.         Pattern pFifteen = Pattern.compile("^\\d{15}$");// 15位身份证号码  
  75.         if (cardStr != null)  
  76.         {  
  77.             if (pEighteen.matcher(cardStr).matches()) // 18位身份证号码验证通过  
  78.             {  
  79.                 if (isValidDate(cardStr.substring(614)))// 18位身份证号码  
  80.                 // 出生年月日验证通过  
  81.                 {  
  82.                     flag = true;  
  83.                 }  
  84.             }  
  85.             if (pFifteen.matcher(cardStr).matches()) // 15位身份证号码验证通过  
  86.             {  
  87.                 if (isValidDay(cardStr.substring(612))) // 15位身份证出身年月日的验证  
  88.                 {  
  89.                     flag = true;  
  90.                 }  
  91.             }  
  92.         }  
  93.         return flag;  
  94.   
  95.     }  
  96.   
  97.     /*************************************************************************** 
  98.      * 正整数验证 
  99.      *  
  100.      * @param str 待验证字符串 
  101.      * @return true 验证通过 false 验证失败 
  102.      */  
  103.     public static boolean isValidInteger(String str)  
  104.     {  
  105.         boolean flag = 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值