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(); } }