Java 正则表达式对用户名、手机号、邮箱等验证

Java 正则表达式对用户名、手机号、邮箱等验证,第1张

Java 正则表达式对用户名、手机号、邮箱等验证

工具类:

public class Validator {
    
    public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$";

    
    public static final String REGEX_PASSWORD = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,15}$";

    
    public static final String REGEX_MOBILE =
            "^((13[0-9])|(15[^4,\D])|(16[0-9])|(18[0-9])|(17[0-9]))\d{8}$";
    //public static final String	REGEX_MOBILE	= "^((13[0-9])|(15[^4,\D])|(18[0,2,5-9])|(17[0-9]))\d{8}$";
    //public static final String	REGEX_MOBILE	= "^(1[0-9][0-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,}$";
    public static final String REGEX_EMAIL =
            "^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$";
    ;

    
    public static final String REGEX_CHINESE = "^[u4e00-u9fa5],{0,}$";

    
    public static final String REGEX_ID_CARD = "(^\d{18}$)|(^\d{15}$)";

    
    public static final String REGEX_URL = "http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";

    
    public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)";

    
    public static boolean isUsername(String username) {
        return Pattern.matches(REGEX_USERNAME, username);
    }

    
    public static boolean isPassword(String password) {
        return Pattern.matches(REGEX_PASSWORD, password);
    }

    
    public static boolean isMobile(String mobile) {
        //Pattern p = Pattern.compile(MOBILE_PHONE_RE);
        //Matcher m = p.matcher(mobiles);
        //return m.matches();
        return Pattern.matches(REGEX_MOBILE, mobile);
    }

    
    public static boolean isEmail(String email) {
        return Pattern.matches(REGEX_EMAIL, email);
    }

    
    public static boolean isChinese(String chinese) {
        return Pattern.matches(REGEX_CHINESE, chinese);
    }

    
    public static boolean isIDCard(String idCard) {
        if (idCard.toUpperCase().matches("(^\d{15}$)|(^\d{17}([0-9]|X)$)")) {
            return true;
        } else {
            return false;
        }
    }

    
    public static boolean isUrl(String url) {
        return Pattern.matches(REGEX_URL, url);
    }

    
    public static boolean isIPAddr(String ipAddr) {
        return Pattern.matches(REGEX_IP_ADDR, ipAddr);
    }

    public static void main(String[] args) {
        String username = "fdsdfsdj";
        System.out.println(Validator.isUsername(username));
        System.out.println(Validator.isChinese(username));
    }

    
    public static boolean isCarCode(String carCode) {
        String carnumRegex = "[u4e00-u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}";
        if (carCode.toUpperCase().matches(carnumRegex)) {
            return true;
        } else {
            return false;
        }
    }

    
    public static boolean isCarNo(String CarNum) {
        //匹配第一位汉字
        String str = "京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼甲乙丙己庚辛壬寅辰戍午未申";
        if (!(CarNum == null || CarNum.equals(""))) {
            String s1 = CarNum.substring(0, 1);//获取字符串的第一个字符
            if (str.contains(s1)) {
                String s2 = CarNum.substring(1, CarNum.length());
                //不包含I O i o的判断
                if (s2.contains("I") || s2.contains("i") || s2.contains("O") || s2.contains("o")) {
                    return false;
                } else {
                    if (!CarNum.matches("^[u4e00-u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$")) {
                        return true;
                    }
                }
            } else {
                return false;
            }
        } else {
            return false;
        }
        return false;
    }


    
    public static boolean isLegalName(String name){
        if (name.contains("·") || name.contains("•")){
            if (name.matches("^[\u4e00-\u9fa5]+[·•][\u4e00-\u9fa5]+$")){
                return true;
            }else {
                return false;
            }
        }else {
            if (name.matches("^[\u4e00-\u9fa5]+$")){
                return true;
            }else {
                return false;
            }
        }
    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5075867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存