需要自取
两个类
import org.springframework.util.StringUtils;
/**
* Mr.yu
* 2021-02-07
*/
public class RegexUtils {
/**
* 是否符合手机格式
* @param phone 要校验的手机号
* @return true:符合,false:不符合
*/
public static boolean isPhone(String phone){
return matches(phone, RegexPatterns.PHONE_REGEX);
}
/**
*
* 数字、26个英文字母或者下划线组成
*
* @param str
* @return
*/
public static boolean isFileName(String str){
return matches(str, RegexPatterns.FILENAME_REGEX);
}
public static boolean isResoName(String str){
return matches(str, RegexPatterns.RESO_NAME_REGEX);
}
/**
* 是否符合邮箱格式
* @param email 要校验的邮箱
* @return true:符合,false:不符合
*/
public static boolean isEmail(String email){
return matches(email, RegexPatterns.EMAIL_REGEX);
}
private static boolean matches(String str, String regex){
if (StringUtils.isEmpty(str)) {
return false;
}
return str.matches(regex);
}
public static void main(String[] args) {
String str = "/opt/data/tes.t.csv";
System.out.println(StringUtils.stripFilenameExtension(StringUtils.getFilename(str)));
System.out.println(isFileName(StringUtils.stripFilenameExtension(StringUtils.getFilename(str))));
}
}
public abstract class RegexPatterns {
/**
* 手机号正则
*/
public static final String PHONE_REGEX = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";
/**
* 邮箱正则
*/
public static final String EMAIL_REGEX = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
/**
* 用户名正则
*/
public static final String USERNAME_REGEX = "^\\w{4,32}$";
/**
* 数字、26个英文字母或者下划线组成
* 文件名称正则
*/
public static final String FILENAME_REGEX = "^\\w+$";
/**
* 汉字英文数字 正则
* 长度 1-20
*/
public static final String RESO_NAME_REGEX = "^[\\u4e00-\\u9fa5_a-zA-Z0-9]{1,20}$";
}
具体使用
if (!RegexUtils.isPhone(user.getPhone())) {
throw new BizException(407, "手机号格式不正确");
}