Java正则工具__手机号、身份证、车牌号……

发布时间 2023-06-08 15:50:25作者: ashet

你拥有青春的时候,你就要感受它。不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。这些都是我们时代病态的目标、虚假的理想。活着,把你宝贵的内在生命活出来,什么都别错过。——王尔德

点击查看代码
/**
 * 正则工具
 */
public class RegexUtil {

    private RegexUtil() {
    }

    /**
     * 手机号正则
     */
    private static final String PHONE = "^(13\\d|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18\\d|19[0-35-9])\\d{8}$";

    /**
     * 身份证号正则
     */
    private static final String IDENTITY = "^[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]$";

    /**
     * 车牌号正则
     */
    private static final String VEHICLE = "^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新][A-Z0-9]{5,6}$";


    /**
     * 是电话格式吗
     */
    public static void isPhoneFormat(@NotNull String phone) {
        Assert.isTrue(!ObjectUtils.isEmpty(phone), "电话号码 不能为空");
        Assert.isTrue(phone.matches(PHONE), "请输入正确的电话号码");
    }

    /**
     * 是身份证格式吗
     */
    public static void isIdentityFormat(@NotNull String identity) {
        Assert.isTrue(!ObjectUtils.isEmpty(identity), "身份证号码 不能为空");
        Assert.isTrue(identity.matches(IDENTITY), "请输入正确的身份证号码");
    }

    /**
     * 是车牌号格式吗
     */
    public static void isVehicleId(@NotNull String vehicleId) {
        Assert.isTrue(!ObjectUtils.isEmpty(vehicleId), "车牌号 不能为空");
        Assert.isTrue(vehicleId.matches(VEHICLE), "请输入正确的车牌号");
    }

}