86183
2022-09-09 0d999e33085c0a25c5525242748f6aa62a401159
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.dsh.utils;
 
import lombok.experimental.UtilityClass;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * @author : zhangpeng
 * @date : 2021/9/23 16:02
 * @description : 正则表达式验证
 */
@UtilityClass
public class RegularUtils {
 
    private Pattern passwordPattern = Pattern.compile("^(?=.*\\d)(?=.*[A-Za-z]).{8,20}$");
 
    private Pattern mobilePattern = Pattern.compile("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$");
 
    private Pattern phonePattern = Pattern.compile("0\\d{2,3}-\\d{7,8}|\\(?0\\d{2,3}[)-]?\\d{7,8}|\\(?0\\d{2,3}[)-]*\\d{7,8}");
 
    private Pattern cardNumberPattern = Pattern.compile("(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)");
 
    private Pattern blankCardPattern = Pattern.compile("[1-9]\\d{12,18}");
 
    private Pattern emailPattern = Pattern.compile("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$");
 
 
    /**
     * 检验电话号码是否符合标准
     *
     * @param value
     * @return
     */
    public Boolean checkMobile(String value) {
        Matcher matcher = mobilePattern.matcher(value);
        return matcher.matches();
    }
 
 
    /**
     * 检验座机号码是否符合标准
     *
     * @param value
     * @return
     */
    public Boolean checkPhone(String value) {
        Matcher matcher = phonePattern.matcher(value);
        return matcher.matches();
    }
 
    /**
     * 检验身份证是否符合标准
     *
     * @param value
     * @return
     */
    public Boolean checkCardNumber(String value) {
        Matcher matcher = cardNumberPattern.matcher(value);
        return matcher.matches();
    }
 
    /**
     * 检查密码强弱,不能全数字
     *
     * @param value
     * @return
     */
    public Boolean checkPasswordStrength(String value) {
        Matcher matcher = passwordPattern.matcher(value);
        return matcher.matches();
    }
 
    /**
     * 检查银行卡号码格式
     *
     * @param blankCard
     * @return
     */
    public Boolean checkBlankCard(String blankCard) {
        Matcher matcher = blankCardPattern.matcher(blankCard);
        return matcher.matches();
    }
 
    /**
     * 检查邮箱地址格式
     *
     * @param email
     * @return
     */
    public Boolean checkEmail(String email) {
        Matcher matcher = emailPattern.matcher(email);
        return matcher.matches();
    }
 
 
}