android 表單校驗工具類

wdey 9年前發布 | 3K 次閱讀 Java 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();  
    }  

}  </pre> 


 本文由用戶 wdey 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!