Java的一些藏用正则表达式

static boolean flag = false;
    static String regex = "";

    public static boolean check(String str, String regex) {
        try {
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(str);
            flag = matcher.matches();
        } catch (Exception e) {
            flag = false;
        }
        return flag;
    }

    /**
     * 验证非空
     *
     * @param email
     * @return
     */
    public static boolean checkNotEmputy(String notEmputy) {
        regex = "^\\s*$";
        return check(notEmputy, regex) ? false : true;
    }

    /**
     * 验证邮箱
     *
     * @param email
     * @return
     */
    public static boolean checkEmail(String email) {
        // String regex = "^(\\w+((-\\w+)|(\\.\\w+))*)\\+\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
        // return check(email, regex);
        Pattern pattern = Pattern.compile("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$");
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();

    }

    /**
     *  /*  <br>     2019年1月16日已知
     *     中国电信号段
     *         133,149,153,173,174,177,180,181,189,199
     *     中国联通号段
     *         130,131,132,145,146,155,156,166,175,176,185,186
     *     中国移动号段
     *         134(0-8),135,136,137,138,139,147,148,150,151,152,157,158,159,165,178,182,183,184,187,188,198
     *     上网卡专属号段(用于上网和收发短信,不能打电话)
     *         如中国联通的是145
     *     虚拟运营商
     *         电信:1700,1701,1702
     *         移动:1703,1705,1706
     *         联通:1704,1707,1708,1709,171
     *     卫星通信: 1349 <br>     未知号段:141、142、143、144、154
     * @param cellphone
     * @return
     */
    public static boolean checkCellphone(String cellphone) {
        System.out.println("cellphone========"+cellphone);
        //联通好呐     130、131、132、145、155、156、166、171、175、176、185、186、196号。
        //移动手机号段  132 134 135 136 137 138 139 147 150 151 152 155 157 158 159 182 183 187 188
        //电信好吗号段  177,173,189,181,180,153,133,199
       // String regex ="^(13[0-9]|14[5|7]|16[6]|15[0|1|2|3|5|6|7|8|9]|17[1|3|5|6|7]|18[0|1|2|3|5|6|7|8|9]|19[9])\\d{8}$";
        String regex = "^((13[0-9])|(14[5-9])|(15([0-3]|[5-9]))|(16[6-7])|(17[1-8])|(18[0-9])|(19[1|3])|(19[5|6])|(19[8|9]))\\d{8}$";
        return check(cellphone, regex);
    }

    /**
     * 验证固话号码
     *
     * @param telephone
     * @return
     */
    public static boolean checkTelephone(String telephone) {
        String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$";
        return check(telephone, regex);
    }

    /**
     * 验证传真号码
     *
     * @param fax
     * @return
     */
    public static boolean checkFax(String fax) {
        String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$";
        return check(fax, regex);
    }

    /**
     * 验证QQ号码
     *
     * @param QQ
     * @return
     */
    public static boolean checkQQ(String QQ) {
        String regex = "^[1-9][0-9]{4,} $";
        return check(QQ, regex);
    }

记录一下,主要做手机号的验证,更新时间2021-11-09

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值