StringUtils 正则校验
生活随笔
收集整理的這篇文章主要介紹了
StringUtils 正则校验
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
public class StringUtils {/*** 如果str為null,返回“”,否則返回str* @param str* @return*/public static String isNull(String str) {if (str == null) {return "";}return str.trim();}public static String isNull(Object o) {if (o == null) {return "";}String str="";if(o instanceof String){str=(String)o;}else{str=o.toString();}return str;}/*** 檢驗手機(jī)號* @param phone* @return*/public static boolean isPhone(String phone){phone = isNull(phone);Pattern regex = Pattern
// .compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");.compile("^((1[34578]{1}[0-9]))\\d{8}$");Matcher matcher = regex.matcher(phone);boolean isMatched = matcher.matches();return isMatched;}/*** 檢查是否全中文,返回true 表示是 反之為否* @param realname* @return*/public static boolean isChinese(String realname){realname = isNull(realname);Pattern regex = Pattern.compile("[\\u4e00-\\u9fa5]{2,25}");Matcher matcher = regex.matcher(realname);boolean isMatched = matcher.matches();return isMatched;}/*** 檢查email是否是郵箱格式,返回true表示是,反之為否* @param email* @return*/public static boolean isEmail(String email) {email = isNull(email);Pattern regex = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");Matcher matcher = regex.matcher(email);boolean isMatched = matcher.matches();return isMatched;}/*** 檢查身份證的格式,返回true表示是,反之為否* @param email* @return*/public static boolean isCard(String cardId) {cardId = isNull(cardId);//身份證正則表達(dá)式(15位) Pattern isIDCard1=Pattern.compile("^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$"); //身份證正則表達(dá)式(18位) Pattern isIDCard2=Pattern.compile("^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$"); Matcher matcher1= isIDCard1.matcher(cardId);Matcher matcher2= isIDCard2.matcher(cardId);boolean isMatched = matcher1.matches()||matcher2.matches();return isMatched;}/*** 判斷字符串是否為整數(shù)* @param str* @return*/public static boolean isInteger(String str) {if (isEmpty(str)) {return false;}Pattern regex = Pattern.compile("\\d*");Matcher matcher = regex.matcher(str);boolean isMatched = matcher.matches();return isMatched;}/*** 判斷字符串是否為數(shù)字* @param str* @return*/public static boolean isNumber(String str) {if (isEmpty(str)) {return false;}Pattern regex = Pattern.compile("(-)?\\d*(.\\d*)?");Matcher matcher = regex.matcher(str);boolean isMatched = matcher.matches();return isMatched;}/*** 判斷字符串是否為純字母* @param str* @return*/public static boolean isEnglish(String str) {if (isEmpty(str)) {return false;}Pattern regex = Pattern.compile("[a-zA-Z]{1,}");Matcher matcher = regex.matcher(str);boolean isMatched = matcher.matches();return isMatched;}/*** 判斷字符串是否為空* @param str* @return*/public static boolean isEmpty(String str) {if (str == null || "".equals(str)) {return true;}return false;}/*** 首字母大寫* @param s* @return*/public static String firstCharUpperCase(String s) {StringBuffer sb = new StringBuffer(s.substring(0, 1).toUpperCase());sb.append(s.substring(1, s.length()));return sb.toString();}public static String hideChar(String str,int len){if(str==null) return null;char[] chars=str.toCharArray();for(int i=1;i<chars.length-1;i++){if(i<len){chars[i]='*';}}str=new String(chars);return str;}public static String hideFirstChar(String str,int len){if(str==null) return null;char[] chars=str.toCharArray();if(str.length()<=len){for(int i=0;i<1;i++){chars[i]='*';}}else{for(int i=0;i<len;i++){chars[i]='*';}}str=new String(chars);return str;}public static String hideLastChar(String str,int len){if(str==null) return null;char[] chars=str.toCharArray();if(str.length()<=len){for(int i=0;i<chars.length;i++){chars[i]='*';}}else{for(int i=chars.length-1;i>chars.length-len-1;i--){chars[i]='*';}}str=new String(chars);return str;}public static String hideNumber(String str){if(str==null) return null;char[] chars=str.toCharArray();if(str.length()<=7){for(int i=0;i<chars.length;i++){chars[i]='*';}}else{for(int i=3;i<chars.length-4;i++){chars[i]='*';}}str=new String(chars);return str;}/*** * @return*/public static String format(String str,int len){if(str==null) return "-";if(str.length()<=len){int pushlen=len-str.length();StringBuffer sb=new StringBuffer();for(int i=0;i<pushlen;i++){sb.append("0");}sb.append(str);str=sb.toString();}else{String newStr=str.substring(0, len);str=newStr;}return str;}public static String contact(Object[] args){StringBuffer sb=new StringBuffer();for(int i=0;i<args.length;i++){sb.append(args[i]);if(i<args.length-1){sb.append(",");}}return sb.toString();}/*** 是否包含在以“,”隔開字符串內(nèi)* @param s* @param type* @return*/public static boolean isInSplit(String s,String type){if(isNull(s).equals("")){return false;}List<String> list=Arrays.asList(s.split(","));if(list.contains(type)){return true;}return false;}public static boolean isBlank(String str){return StringUtils.isNull(str).equals("");}public synchronized static String generateTradeNO(long userid,String type){String s;s = type + userid + getFullTimeStr();return s;}public static String getFullTimeStr(){String s=DateUtils.dateStr3(Calendar.getInstance().getTime());return s;}public static String array2Str(Object[] arr){StringBuffer s=new StringBuffer();for(int i=0;i<arr.length;i++){s.append(arr[i]);if(i<arr.length-1){s.append(",");}}return s.toString();}public static String array2Str(int[] arr){StringBuffer s=new StringBuffer();for(int i=0;i<arr.length;i++){s.append(arr[i]);if(i<arr.length-1){s.append(",");}}return s.toString();}/*** 指定起始位置字符串隱藏* @param str* @param index1* @param index2* @return*/public static String hideStr(String str, int index1, int index2) {if (str == null)return null;String str1 = str.substring(index1, index2);String str2 = str.substring(index2);String str3 = "";if (index1 > 0) {str1 = str.substring(0, index1);str2 = str.substring(index1, index2);str3 = str.substring(index2);}char[] chars = str2.toCharArray();for (int i = 0; i < chars.length; i++) {chars[i] = '*';}str2 = new String(chars);String str4 = str1 + str2 + str3;return str4;}// 四舍五入保留兩位小數(shù)點public static String SetNumberFractionDigits(String str) {NumberFormat nf = NumberFormat.getNumberInstance();nf.setMaximumFractionDigits(2);nf.setMinimumFractionDigits(2);return nf.format(Float.valueOf(str));}public static String getMonday(String the_rq){int n=getXC_days(the_rq);//System.out.println("n="+n);n=n*-1;return Q_N_Day(n,the_rq);}//獲取輸入日期的星期天日期public static String getSunday(String the_rq){int n=getXC_days(the_rq);//System.out.println("n="+n);n=(6-(n*-1))*-1;return Q_N_Day(n,the_rq);}// 獲得輸入日期與本周一相差的天數(shù)public static int getXC_days(String rq){SimpleDateFormat formatYMD=new SimpleDateFormat("yyyy-MM-dd");//formatYMD表示的是yyyy-MM-dd格式SimpleDateFormat formatD=new SimpleDateFormat("E");//"E"表示"day in week"Date d=null;String weekDay="";int xcrq=0;try{d=formatYMD.parse(rq);//將String 轉(zhuǎn)換為符合格式的日期weekDay=formatD.format(d);if(weekDay.equals("星期一")){xcrq=0;}else{if(weekDay.equals("星期二")){xcrq=-1;}else{if(weekDay.equals("星期三")){xcrq=-2;}else{if(weekDay.equals("星期四")){xcrq=-3;}else{if(weekDay.equals("星期五")){xcrq=-4;}else{if(weekDay.equals("星期六")){xcrq=-5;}else{if(weekDay.equals("星期日")){xcrq=-6;}}}}}}}}catch (Exception e){e.printStackTrace();}return xcrq;}public static String Q_N_Day(int N,String d1){//
String []d2=d1.split("-");int year=Integer.parseInt(d2[0]);int month=Integer.parseInt(d2[1]);int day=Integer.parseInt(d2[2]);if(day-N<=0){if(month==1){year=year-1;month=12;day = day + 31-N;}else{month=month-1;if (month == 2) {if (year % 4 == 0) {day = day + 29-N;} else {day = day + 28-N;}}else{if(month==4||month==6||month==9||month==11){day=day+30-N;}else{day=day+31-N;}}}}else{///if(month==12){if((day-N)>31){year=year+1;month=1;day=(day-N)-31;}else{day=day-N;}}else{if (month == 2) {if (year % 4 == 0) {if((day-N)>29){month++;day=(day-N)-29;}else{day=day-N;}} else {if((day-N)>28){month++;day=(day-N)-28;}else{day=day-N;}}}else{if(month==4||month==6||month==9||month==11){if((day-N)>30){month++;day=(day-N)-30;}else{day=day-N;}}else{if((day-N)>31){month++;day=(day-N)-31;}else{day=day-N;}}}}//day=day-N;
}String str=String.valueOf(year);if(month<10){str=str+"-0"+String.valueOf(month);}else{str=str+"-"+String.valueOf(month);}if(day<10){str=str+"-0"+String.valueOf(day);}else{str=str+"-"+String.valueOf(day);}return str;}/*public static void main(String[] args) {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 設(shè)置日期格式String mondayString=StringUtils.getMonday(df.format(new Date()))+ " 00:00:00";String sumdayString=StringUtils.getSunday(df.format(new Date()))+ " 23:59:59";String monday=DateUtils.getTime(mondayString)+"";String sumday=DateUtils.getTime(sumdayString)+"";//System.out.println(monday);//System.out.println(sumday);}*/public static String fillTemplet(String templet, String phstr, String[] paras){StringBuffer templetSB = new StringBuffer(templet);int i = 0;while(templetSB.indexOf(phstr) >= 0 && i < paras.length){templetSB.replace(templetSB.indexOf(phstr), templetSB.indexOf(phstr)+phstr.length(), paras[i]);i++;}return templetSB.toString();}//V1.6.6.1 RDPROJECT-226 liukun 2013-09-26 start/*public static String fillTemplet(String template){//V1.6.6.1 RDPROJECT-331 liukun 2013-10-12 start//模板中的'是非法字符,會導(dǎo)致無法提交,所以頁面上用`代替template = template.replace('`', '\'');//V1.6.6.1 RDPROJECT-331 liukun 2013-10-12 endMap<String,Object> data=Global.getTransfer();try {return FreemarkerUtil.renderTemplate(template, data);} catch (Exception e) {e.printStackTrace();}return "";}*///V1.6.6.1 RDPROJECT-226 liukun 2013-09-26 end//V1.6.5.3 RDPROJECT-142 liukun 2013-09-11 startpublic static int[] strarr2intarr(String[] strarr){int[] result = new int[strarr.length];for(int i=0;i<strarr.length;i++){result[i] = Integer.parseInt(strarr[i]);}return result;}/*** 大寫字母轉(zhuǎn)成“_”+小寫* @param str* @return*/public static String toUnderline(String str){char[] charArr=str.toCharArray();StringBuffer sb=new StringBuffer();sb.append(charArr[0]);for(int i=1;i<charArr.length;i++){if(charArr[i]>='A'&&charArr[i]<='Z'){sb.append('_').append(charArr[i]);}else{sb.append(charArr[i]);}}return sb.toString().toLowerCase();}/*** 根據(jù)身份證計算性別* @param cardId* @return*/public static int getSexByCardid(String cardId) {/*String sexNum = "";if (cardId.length() == 15) {sexNum = cardId.substring(13, 14);} else {sexNum = cardId.substring(16, 17);}if (Integer.parseInt(sexNum) % 2 == 1) {return 1;} else {return 0;}*/int sexNum = 0;if (cardId.length() == 15) {sexNum = cardId.charAt(13);} else {sexNum = cardId.charAt(16);}if (sexNum % 2 == 1) {return 1;} else {return 0;}}/*** 根據(jù)身份證計算生日* @param cardId* @return*/public static String getBirthdayByCardid(String cardId) {String birth = null;if (cardId.length() == 15) {birth = cardId.substring(6, 12);} else {birth = cardId.substring(6, 14);}SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");String birthday = null;try {birthday = sf2.format(sf1.parse(birth));} catch (ParseException e) {e.printStackTrace();}return birthday;}public static String getNullStr(Object obj) {if(obj==null) {return "";}return obj.toString();}public static String getFileSuffixName(String fileName){String suffix = null;if (fileName != null) {int last = fileName.lastIndexOf('.');suffix = fileName.substring(last);}return suffix;}/*** 格式化數(shù)字* @param num* @return*/public static String getFormatNumber(String num){int number=Integer.parseInt(num);if(Integer.parseInt(num) >= 100000) {BigDecimal accountB = new BigDecimal(number);return accountB.divide(new BigDecimal(10000),2,BigDecimal.ROUND_HALF_DOWN).stripTrailingZeros().toPlainString()+"萬元";} else {return number+"元";}}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/zlw-xf/p/9519333.html
總結(jié)
以上是生活随笔為你收集整理的StringUtils 正则校验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 2744: [HEOI2012
- 下一篇: C++并发编程之std::async()