android 表单校验工具类详解编程语言

    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();   
        }   
       
    }  

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10636.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论