package com.farmlink.most.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.net.ParseException; import android.text.TextUtils; /** * 参数校验 */ public class ValidateParam { /** * 校验用户名判断:头部尾部不能使空格,不能是中文,不能使全角,不能有星号,长度6-16 其实 中文 和 全角 的 new * String(charStr.getBytes("UTF-8"),"8859_1").getBytes().length=6 * 字母、数字、特殊符号new * String(charStr.getBytes("UTF-8"),"8859_1").getBytes().length=1 */ public static boolean validateUserName(String username) { /** * 长度6-16 */ if (!((username.length() >= 6) && (username.length() <= 16))) { return false; } /** * 头部不能有空格 */ if (username.substring(0, 1).equals(" ")) {// 头部有空格 System.out.println(33); return false; } /** * 未部不能有空格 */ if (username.endsWith(" ")) {// 未部有空格 return false; } if (username.contains(" ")) {// 不能含有 return false; } /** * 不能有中文 */ Pattern pattern1 = Pattern.compile("[^\\u4E00-\\u9FA5]*"); // 不是中文 Matcher m1 = pattern1.matcher(username); if (!m1.matches()) { return false; } /** * 不能有*号 */ pattern1 = Pattern.compile("[^\\*]*"); // 不是*号 m1 = pattern1.matcher(username); if (!m1.matches()) { return false; } /** * 不能是纯数字 */ pattern1 = Pattern.compile("^[1-9]\\d*$"); m1 = pattern1.matcher(username); return !m1.matches(); } /** * 校验用户密码:字母,数字,特殊字符,至少两种,6-16个字符 */ public static boolean validateUserPassword(String passport) { Pattern pattern1 = Pattern.compile("[0-9]*"); // 数字[0-9]+? Matcher m1 = pattern1.matcher(passport); pattern1 = Pattern.compile(".*[a-zA-Z].*"); // 字母 Matcher m2 = pattern1.matcher(passport); pattern1 = Pattern.compile(".*[^a-zA-Z0-9].*"); // 非字母和数字 Matcher m3 = pattern1.matcher(passport); pattern1 = Pattern.compile("[^\\u4E00-\\u9FA5]*"); // 不是中文 Matcher m4 = pattern1.matcher(passport); // 长度6-16 if (!((passport.length() >= 6) && (passport.length() <= 16))) { return true; } /** * 纯数字 */ if (m1.matches()) { return true; } /** * 必须是:字母和数字 **/ if (m1.matches() && m2.matches() && m4.matches()) { return true; } /** * 必须是:数字和特殊符号 **/ if (m1.matches() && m3.matches() && m4.matches()) { return true; } /** * 必须是:字母和特殊符号 **/ return m2.matches() && m3.matches() && m4.matches(); } public static int validateUserPasswords(String passport) { passport = new String(passport.getBytes()); java.util.regex.Pattern pattern2 = java.util.regex.Pattern.compile("[\u4e00-\u9fa5]+"); java.util.regex.Matcher match2 = pattern2.matcher(passport); if (match2.find() == true) { return 1; } java.util.regex.Pattern pattern3 = java.util.regex.Pattern.compile("[\\s\u4e00-\u9fa5]"); java.util.regex.Matcher match3 = pattern3.matcher(passport); if (match3.find() == true) { return 2; } java.util.regex.Pattern pattern4 = java.util.regex.Pattern.compile("\\*"); java.util.regex.Matcher match4 = pattern4.matcher(passport); if (match4.find()) { return 3; } return 0; } /** * 校验手机 */ public static boolean validatePhone(String phone) { Pattern pattern1 = Pattern.compile("^1[34578]\\d{9}$"); Matcher m1 = pattern1.matcher(phone); return m1.matches(); } /** * 校验邮箱 */ public static boolean validateEmail(String email) { Pattern pattern = Pattern.compile( "^([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})(\\]?)$"); Matcher matcher = pattern.matcher(email); return matcher.matches(); } /** * 判断字段是否为身份证 符合返回ture * @param str * @return boolean */ public static boolean isIdCard(String str) { /** * 身份证正则表达式 */ String IDCARD="((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})" + "(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}" + "[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))"; if(TextUtils.isEmpty(str)) return false ; if(str.trim().length() == 15 || str.trim().length() == 18) { return Regular(str,IDCARD); }else { return false ; } } /** * 判断字段是否为邮编 符合返回ture * @param str * @return boolean */ public static boolean isCode(String str) { /** * 邮编正则表达式 [0-9]\d{5}(?!\d) 国内6位邮编 */ String CODE="[0-9]\\d{5}(?!\\d)"; return Regular(str,CODE) ; } /** * 匹配是否符合正则表达式pattern 匹配返回true * @param str 匹配的字符串 * @param pattern 匹配模式 * @return boolean */ private static boolean Regular(String str,String pattern){ if(null == str || str.trim().length()<=0) return false; Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(str); return m.matches(); } }