public class PatternUtils {
/**
* 2-20位 校验中文数字英文
*/
public static boolean isLetterDataOrChinese(String str) {
String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]{2,20}$";
return str.matches(regex);
}
/**
*0 或1
*/
public static boolean isState(String str) {
String regex = "^[0-1]{1}$";
return str.matches(regex);
}
/**
* 2-10位 校验中文
*/
public static boolean isChinese(String str) {
String regex = "^[\\u4E00-\\u9FA5]{2,10}$";
return str.matches(regex);
}
/**
* 网址链接校验
*/
public static boolean isURL(String str) {
//转换为小写
str = str.toLowerCase();
String regex = "^((https|http|ftp|rtsp|mms)?://)" //https、http、ftp、rtsp、mms
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}\\.){3}[0-9]{1,3}" // IP形式的URL- 例如:199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+\\.)*" // 域名- www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\\." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,5})?" // 端口号最大为65535,5位数
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
return str.matches(regex);
}
/**
*上传文件类型校验
*/
public static boolean isFileType(String str) {
List<String> list = Arrays.asList("ppt", "pptx", "doc", "docx", "pdf", "png", "jpg", "mp4", "xls", "xlsx");
return list.contains(str.toLowerCase());
}
/**
*上传文件大小校验
*/
public static boolean isFileSize(Long filesize) {
return filesize/(1024*1024)<2048;
}
正则校验举例
最新推荐文章于 2022-11-29 15:23:48 发布