Java正则表达式工具类(持续更新)

package com.shucha.digitalportalbackstage.biz.utils;

import org.springframework.stereotype.Component;

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

/**
 * @author tqf
 * @Description 手机号格式校验
 * @Version 1.0
 * @since 2022-03-15 15:28
 */
@Component
public class RegexPhoneUtil {
    // 手机号验证规则
    private static String REGEX_PHONE = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
    // 整数验证规则
    private static String REGEX_NUMBER = "^[0-9]*[1-9][0-9]*$";
    // 邮箱验证规则
    private static String REGEX_EMAIL = "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$";

    /**
     * 校验手机号格式是否正确
     * @param phone
     * @return
     */
     public static  Boolean regexPhone(String phone){
        Boolean b;
        if(phone.length() != 11){
            b = false;
        }else{
            Pattern p = Pattern.compile(REGEX_PHONE);
            Matcher m = p.matcher(phone);
            boolean isMatch = m.matches();
            if(isMatch){
                b = true;
            } else {
                b = false;
            }
        }
        return b;
    }

    /**
     * 校验数据是否是整数
     * @param number
     * @return
     */
    public static  Boolean regexNumber(String number){
        Boolean b;
        if(number.length() == 0){
            b = false;
        }else{
            Pattern p = Pattern.compile(REGEX_NUMBER);
            Matcher m = p.matcher(number);
            boolean isMatch = m.matches();
            if(isMatch){
                b = true;
            } else {
                b = false;
            }
        }
        return b;
    }

    /**
     * 校验邮箱格式
     * @param email
     * @return
     */
    public static Boolean regexEmail(String email){
        Boolean b;
        if(email.length() == 0){
            b = false;
        }else{
            // 编译正则表达式
            Pattern pattern = Pattern.compile(REGEX_EMAIL);
            // 忽略大小写的写法
            // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
            Matcher matcher = pattern.matcher(email);
            // 字符串是否与正则表达式相匹配
            boolean isMatch = matcher.matches();
            if(isMatch){
                b = true;
            } else {
                b = false;
            }
        }
        return b;
    }

    public static  void main(String[] args) {
        System.out.println("校验手机号格式:" + regexPhone("17816857416"));
        System.out.println("校验是否整数:" + regexNumber("1"));
        System.out.println("校验邮箱格式:" + regexEmail("1902952234@qq.com"));
    }

}

posted @ 2022-08-04 19:12  码奴生来只知道前进~  阅读(93)  评论(0编辑  收藏  举报