Android中驗證姓名、身份證、銀行卡、手機號(正則表達式校驗)

Android中驗證姓名、身份證、銀行卡、手機號(正則表達式校驗)

public class AppUtils{
    /**
     * 正則表達式:驗證用戶名(不包含中文和特殊字符)如果用戶名使用手機號碼或郵箱 則結合手機號驗證和郵箱驗證
     */
    public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,17}$";
 
    /**
     * 正則表達式:驗證密碼(不包含特殊字符)
     */
    public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,16}$";
 
    /**
     * 正則表達式:驗證手機號
     */
    public static final String REGEX_MOBILE = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
 
    /**
     * 正則表達式:驗證郵箱
     */
    public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
 
    /**
     * 正則表達式:驗證漢字(1-9個漢字)  {1,9} 自定義區間
     */
    public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5]{1,9}$";
 
    **/**
     * **正則表達式:驗證身份證**
     */
    public static final String REGEX_ID_CARD = "(\\d{14}[0-9a-zA-Z])|(\\d{17}[0-9a-zA-Z])";
   
    /**
     * 驗證輸入的身份證號是否合法
     */
    public static boolean isLegalId(String id){
        if (id.toUpperCase().matches("(^\\d{15}$)|(^\\d{17}([0-9]|X)$)")){
            return true;
        }
        return false;
    }**
    
    /**
     * 正則表達式:驗證URL
     */
    public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
 
    /**
     * 正則表達式:驗證IP地址 
     */
    public static final String REGEX_IP_ADDR = "(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";
 
    /**
     * 校驗用戶名
     * 
     * @param username
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isUserName(String username) {
        return Pattern.matches(REGEX_USERNAME, username);
    }
 
    /**
     * 校驗密碼
     * 
     * @param password
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isPassword(String password) {
        return Pattern.matches(REGEX_PASSWORD, password);
    }
 
    /**
     * 校驗手機號
     * 
     * @param mobile
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isMobile(String mobile) {
        return Pattern.matches(REGEX_MOBILE, mobile);
    }
 
    /**
     * 校驗郵箱
     * 
     * @param email
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isEmail(String email) {
        return Pattern.matches(REGEX_EMAIL, email);
    }
 
    /**
     * 校驗漢字
     * 
     * @param chinese
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isChinese(String chinese) {
        return Pattern.matches(REGEX_CHINESE, chinese);
    }
 
    /**
     * 校驗身份證
     * 
     * @param idCard
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isIDCard(String idCard) {
        return Pattern.matches(REGEX_ID_CARD, idCard);
    }
 
    /**
     * 校驗URL
     * 
     * @param url
     * @return 校驗通過返回true,否則返回false
     */
    public static boolean isUrl(String url) {
        return Pattern.matches(REGEX_URL, url);
    }
 
    /**
     * 校驗IP地址
     * 
     * @param ipAddress
     * @return
     */
    public static boolean isIPAddress(String ipAddress) {
        return Pattern.matches(REGEX_IP_ADDR, ipAddress);
    }
   
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章