Android 常用正则工具

支持 手机号、座机号、身份证、微信号、密码、QQ、邮箱正则

import java.util.regex.Pattern;

public class Validator {

    /**
     * 手机号正则
     */
    public static String REGEX_PHONE = "^(13[0-9]|14[5-9]|15[0-3,5-9]|16[2,5,6,7]|17[0-8]|18[0-9]|19[1,3,5,8,9])\\d{8}$";

    /**
     * 座机号正则
     */
    public static String REGEX_LAND_LINE = "0\\d{2,3}-\\d{7,8}";

    /**
     * 身份证正则
     */
    public static String REGEX_ID_CARD = "^(\\d{6})(19|20)(\\d{2})(1[0-2]|0[1-9])(0[1-9]|[1-2][0-9]|3[0-1])(\\d{3})(\\d|X|x)?$";

    /**
     * 微信号正则
     */
    public static String REGEX_WE_CHAT = "^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}+$";

    /**
     * 密码正则 (密码长度为8到20位,必须包含字母和数字,字母区分大小写)
     */
    public static String REGEX_PASSWORD = "^(?=.*[0-9])(?=.*[a-zA-Z])(.{8,20})$";

    /**
     * 邮箱正则
     */
    public static String REGEX_EMAIL= "^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$";

    /**
     * 是否是手机号
     *
     * @param number
     * @return
     */
    public static boolean isPhone(String number) {
        Pattern pattern = Pattern.compile(REGEX_PHONE);
        return pattern.matcher(number).matches();
    }

    /**
     * 是否是手机号
     *
     * @param number
     * @return
     */
    public static boolean isLandline(String number) {
        Pattern pattern = Pattern.compile(REGEX_LAND_LINE);
        return pattern.matcher(number).matches();
    }

    /**
     * 是否是身份证号(粗略的校验)
     *
     * @param number
     * @return
     */
    public static boolean isIdCard(String number) {
        Pattern pattern = Pattern.compile(REGEX_ID_CARD);
        return pattern.matcher(number).matches();
    }

    /**
     * 是否是微信号
     *
     * @param number 微信账号仅支持6-20个字母、数字、下划线或减号,以字母开头
     * @return
     */
    public static boolean isWeChat(String number) {
        Pattern pattern = Pattern.compile(REGEX_WE_CHAT);
        return pattern.matcher(number).matches();
    }

    /**
     * 是否是密码
     * @param password 密码长度为8到20位,必须包含字母和数字,字母区分大小写
     * @return
     */
    public static boolean isPassword(String password){
        Pattern pattern = Pattern.compile(REGEX_PASSWORD);
        return pattern.matcher(password).matches();
    }

    /**
     * 邮箱正则
     * @param mail
     * @return
     */
    public static boolean isEmail(String mail){
        Pattern pattern = Pattern.compile(REGEX_EMAIL);
        return pattern.matcher(mail).matches();
    }


    /**
     * QQ号格式
     *
     * @param number
     * @return
     */
    public static boolean isQQ(String number) {
        if (number == null) {
            return false;
        }
        if (number.length() == 0) {
            return false;
        }
        if (number.startsWith("0")) {
            return false;
        }
        if (number.length() < 5) {
            return false;
        }
        if (number.length() > 12) {
            return false;
        }
        return true;
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值