常见数据校验规则

package com.test.easycheck;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 手机号的校验规则:
 * /^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/
 *
 * 邮箱的校验规则:
 * /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/
 *
 *
 * 护照号的校验规则:
 * /^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/
 *
 * 文字、英文字母、数字和下划线
 * /^[\u0391-\uFFE5\w]+$/,
 *
 * 二代身份证
 * ^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$
 *
 * 非特殊字符
 * [^#]+
 *
 * 至少一个数字或者字母
 * [a-zA-Z0-9]+
 *
 * 至少一个汉字
 * [\u4e00-\\u9fa5]+
 *
 * 是否为手机号码
 * /^1[3|4|5|6|7|8][0-9]{9}$/
 *
 * 是否全为数字
 * /^[0-9]+$/
 *
 * 是否为邮箱
 * /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
 *
 * 是否为身份证
 * /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
 *
 * 是否为Url
 * /[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/
 *
 * 是否为IP
 * /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/
 */
public class UnifiedVerification {
    public static void main(String[] args){
        System.out.println(isMobilePhone("17865132151"));
    }

    private static boolean isMobilePhone(String phoneNumber){
        String pa = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
        return match(pa,phoneNumber);
    }

    /**
     * @param rex 正则校验规则
     * @param str 要校验的字符串
     * @return 返回校验结果,若满足校验规则,则返回true,否则返回false
     */
    private static boolean match(String rex, String str) {
        Pattern pattern = Pattern.compile(rex);
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }
}

更多内容请关注微信公众号“外里科技

官方公众号外里科技
运营公众号英雄赚
微信wxid_8awklmbh1fzm22
QQ1247408032
开源代码https://gitee.com/B_T/beimi

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值