首页 > 代码库 > java正则表达式验证非原创
java正则表达式验证非原创
1 /** 2 * 3 */ 4 package com.ssh.util; 5 6 import java.util.regex.Matcher; 7 import java.util.regex.Pattern; 8 9 /** 10 * @author leorain 11 * 12 */ 13 public class ValidateUtil { 14 /** 15 * 手机号验证 16 * 17 * @param str 18 * @return 验证通过返回true 19 */ 20 public static boolean isMobile(String str) { 21 Pattern p = null; 22 Matcher m = null; 23 boolean b = false; 24 p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 验证手机号 25 m = p.matcher(str); 26 b = m.matches(); 27 return b; 28 } 29 /** 30 * 电话号码验证 31 * 32 * @param str 33 * @return 验证通过返回true 34 */ 35 public static boolean isPhone(String str) { 36 Pattern p1 = null,p2 = null; 37 Matcher m = null; 38 boolean b = false; 39 p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的 40 p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的 41 if(str.length() >9) 42 { m = p1.matcher(str); 43 b = m.matches(); 44 }else{ 45 m = p2.matcher(str); 46 b = m.matches(); 47 } 48 return b; 49 } 50 /** 51 * 日期格式验证 52 * @param str 53 * @return 验证通过返回true 54 * */ 55 public static boolean formateDate(String str){ 56 String eL= "^((\\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]))))))"; 57 Pattern p = Pattern.compile(eL); 58 Matcher m = p.matcher(str); 59 boolean flag = m.matches(); 60 return flag; 61 } 62 63 /** 64 * @param t 65 * @return 66 */ 67 public static <T extends java.util.Date> java.util.Date toUtil(T t){ 68 java.util.Date date = t; 69 return date; 70 } 71 72 73 enum Type { 74 DATE, TIME, TIMESTAMP 75 } 76 @SuppressWarnings("unchecked") 77 public static <T extends java.util.Date> T toSql(java.util.Date utilDate, 78 Type type) { 79 T t = null; 80 long millionSeconds = utilDate.getTime(); 81 82 switch (type) { 83 case DATE: 84 t = (T) new java.sql.Date(millionSeconds); 85 break; 86 case TIME: 87 t = (T) new java.sql.Time(millionSeconds); 88 break; 89 case TIMESTAMP: 90 t = (T) new java.sql.Timestamp(millionSeconds); 91 break; 92 default: 93 break; 94 } 95 return t; 96 } 97 /** 98 * 99 * @param a100 * 被匹配的长字符串101 * @param b102 * 匹配的短字符串103 * @return 匹配次数104 */105 public int hit(String a, String b) {106 if (a.length() < b.length()) {107 return 0;108 }109 char[] a_t = a.toCharArray();110 char[] b_t = b.toCharArray();111 int count = 0, temp = 0, j = 0;112 113 for (int i = 0; i < a_t.length; i++) {114 // 保证一个连续的字符串 b 跟 a中某段相匹配115 if (a_t[i] == b_t[j] && j < b_t.length) {116 temp++;117 j++;118 // 此时连续的字符串 b 跟 已跟 a 中某段相匹配119 if (temp == b_t.length) {120 count++;121 temp = 0;122 j = 0;123 }124 }125 // 只要有一个字符不匹配,temp计数从来126 else {127 temp = 0;128 j = 0;129 }130 }131 132 return count;133 }134 }
java正则表达式验证非原创
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。