之前项目有几个判定代码很实用,特此做一个整理。
一、验证手机格式是否正确
//判断手机号码是否合理 private boolean judgePhoneNums(String phoneNums) { if (isMatchLength(phoneNums, 11) && isMobileNO(phoneNums)) { return true; } return false; } // 判断一个字符串的位数 public static boolean isMatchLength(String str, int length) { if (str.isEmpty()) { return false; } else { return str.length() == length ? true : false; } } //验证手机格式 public static boolean isMobileNO(String mobileNums) { /* * 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 * 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通) * 总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9 */ String telRegex = "[1][358]\\d{9}";// "[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。 if (TextUtils.isEmpty(mobileNums)) return false; else return mobileNums.matches(telRegex); }
二、验证邮箱格式是否正确
//判断邮箱 private boolean isEmail(String email) { String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; Pattern p = Pattern.compile(str); Matcher m = p.matcher(email); return m.matches(); }
三、判断日期大小
//判断日期大小 public boolean compare(String s1, String s2) { java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Calendar c1=java.util.Calendar.getInstance(); java.util.Calendar c2=java.util.Calendar.getInstance(); try { c1.setTime(df.parse(s1)); c2.setTime(df.parse(s2)); }catch(java.text.ParseException e){ System.err.println("格式不正确"); } int result=c1.compareTo(c2); if(result==0) return false; else if(result<0) return false; else return true;//s1大于s2 } 四、判断字符串是否为中文 (这段代码有个问题,当字符串为一个汉时,也会被认为不是中文)//判断中文 public static boolean isChineseName(String name) { Pattern pattern = Pattern.compile("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]){2,5}$"); Matcher matcher = pattern.matcher(name); if(matcher.find()) { return true; } return false; }