android几个实用的判定代码
之前项目有几个判定代码很实用,特此做一个整理。
一、验证手机格式是否正确
//判断手机号码是否合理 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; }
五、判断是否为数字或英文或-
public boolean is_num_word(String str){ String regEx="[A-Z,a-z,0-9,-]*"; boolean result= Pattern.compile(regEx).matcher(str).find(); return result; }
六、判断字符串是否为数字或英文或汉字
public boolean isLetterDigitOrChinese(String str) { String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]+$"; return str.matches(regex); }