android 表单校验工具类

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

    import java.util.regex.Pattern;  
      
    /** 
     * 表单校验工具类 
     *  
     * @author sunger 
     * 
     */  
    public class FormValidation {  
      
        /** 
         * 手机号校验 注:1.支持最新170手机号码 2.支持+86校验 
         *  
         * @param phoneNum 
         *            手机号码 
         * @return 验证通过返回true 
         */  
        public static boolean isMobile(String phoneNum) {  
            if (phoneNum == null)  
                return false;  
            // 如果手机中有+86则会自动替换掉  
            return validation("^[1][3,4,5,7,8][0-9]{9}$",  
                    phoneNum.replace("+86", ""));  
        }  
          
      
        /** 
         * 用户名校验,默认用户名长度至少3个字符,最大长度为15<br> 
         * 可修改正则表达式以实现不同需求 
         *  
         * @param username 
         *            用户名 
         * @return 
         */  
        public static boolean isUserName(String username) {  
            /*** 
             * 正则表达式为:^[a-z0-9_-]{3,15}$ 各部分作用如下: [a-z0-9_-] ----------- 
             * 匹配列表中的字符,a-z,0–9,下划线,连字符 {3,15}-----------------长度至少3个字符,最大长度为15 
             * 如果有不同需求的可以参考以上修改正则表达式 
             */  
            return validation("^[a-z0-9_-]{3,15}$", username);  
        }  
      
        /** 
         * 密码校验 
         * 要求6-16位数字和英文字母组合 
         * @param pwd 
         * @return 
         */  
        public static boolean isPassword(String pwd) {  
            /** 
             * ^ 匹配一行的开头位置(?![0-9]+$) 预测该位置后面不全是数字 
             * (?![a-zA-Z]+$) 预测该位置后面不全是字母 
             * [0-9A-Za-z] {6,16} 由6-16位数字或这字母组成 
             */  
            return validation("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", pwd);  
        }  
      
        /** 
         * 邮箱校验 
         *  
         * @param mail 
         *            邮箱字符串 
         * @return 如果是邮箱则返回true,如果不是则返回false 
         */  
        public static boolean isEmail(String mail) {  
            return validation(  
                    "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$",  
                    mail);  
        }  
          
      
        /** 
         * 正则校验 
         *  
         * @param pattern正则表达式 
         * @param str 
         *            需要校验的字符串 
         * @return 验证通过返回true 
         */  
        public static boolean validation(String pattern, String str) {  
            if (str == null)  
                return false;  
            return Pattern.compile(pattern).matcher(str).matches();  
        }  
      
    }