java正则校验,手机号,邮箱,日期格式,时间格式,数字金额两位小数
3.58是否为金额:true
3.582是否为金额:false
1284789@qq.com是否为email:true
1284789qq.com是否为email:false
1823753112是否为手机号:false
18237531125是否为手机号:true
20240127判断字符串是否为日期格式:true
2024-01-27判断字符串是否为日期格式:true
2024/01/27判断字符串是否为日期格式:true
2024/01-27判断字符串是否为日期格式:true
2024-01-27 23:23:23判断字符串是否为日期格式:true
2024-01-27 23:23判断字符串是否为日期格式:false
2024-1-7判断字符串是否为日期格式:true
23:23:23判断字符串是否为时间格式:true
部分代码:源代码请移步文章附件
public class PatternUtils {
/**
* @title 判断字符串是否是金额(小数点前后是数字即可,无小数点后数据也ok,小数最多2位)
* @param amount
* @return boolean [-\+]?[.\d]*
*/
private static Pattern amountPattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d{0,2})?$");
private static Pattern emailPattern = Pattern.compile("\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}");
private static Pattern phonePattern = Pattern.compile("0?(13|14|15|18|17)[0-9]{9}");
public static boolean strIsAmount(String amount) {
if(StringUtils.isEmpty(amount)) {
return false;
}
return amountPattern.matcher(amount).matches();
}
public static boolean isEmail(String email) {
if(StringUtils.isEmpty(email)) {
return false;
}
return emailPattern.matcher(email).matches();
}
public static boolean isPhone(String phone) {
if