import java.util.regex.Pattern;
public class ValidateUtil {
/**
* 是否为正整数
* @param val
* @return
*/
public static boolean isPositiveInteger(String val) {
Pattern p = Pattern.compile("^[1-9]\\d*$");
return p.matcher(val).matches();
}
/**
* 是否为负整数
* @param val
* @return
*/
public static boolean isNegativeInteger(String val) {
Pattern p = Pattern.compile("^-[1-9]\\d*$");
return p.matcher(val).matches();
}
/**
* 是否为整数
* @param val
* @return
*/
public static boolean isInteger(String val) {
Pattern p = Pattern.compile("^-?[1-9]\\d*$");
return p.matcher(val).matches();
}
/**
* 是否为正浮点数
* @param val
* @return
*/
public static boolean isPositiveFloat(String val) {
Pattern p = Pattern.compile("^-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*)$");
return p.matcher(val).matches();
}
/**
* 是否为负浮点数
* @param val
* @return
*/
public static boolean isNegativeFloat(String val) {
Pattern p = Pattern.compile("^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$");
return p.matcher(val).matches();
}
/**
* 是否为浮点数
* @param val
* @return
*/
public static boolean isFloat(String val) {
Pattern p = Pattern.compile("^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$");
return p.matcher(val).matches();
}
/**
* 匹配由26个英文字母组成的字符串
* @param val
* @return
*/
public static boolean isLetter(String val) {
Pattern p = Pattern.compile("^[A-Za-z]+$");
return p.matcher(val).matches();
}
/**
* 匹配由26个英文大写字母组成的字符串
* @param val
* @return
*/
public static boolean isUpperLetter(String val) {
Pattern p = Pattern.compile("^[A-Z]+$");
return p.matcher(val).matches();
}
/**
* 匹配由26个英文小写字母组成的字符串
* @param val
* @return
*/
public static boolean isLowerLetter(String val) {
Pattern p = Pattern.compile("^[a-z]+$");
return p.matcher(val).matches();
}
/**
* 匹配由数字和26个英文字母组成的字符串
* @param val
* @return
*/
public static boolean isLetterAndDigital(String val) {
Pattern p = Pattern.compile("^[A-Za-z0-9]+$");
return p.matcher(val).matches();
}
/**
* 匹配由数字、26个英文字母或者下划线组成的字符串
* @param val
* @return
*/
public static boolean isName(String val) {
Pattern p = Pattern.compile("^\\w+$");
return p.matcher(val).matches();
}
/**
* 匹配ip地址
* @param val
* @return
*/
public static boolean isIP(String val) {
Pattern p = Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d+");
return p.matcher(val).matches();
}
/**
* 匹配身份证
* @param val
* @return
*/
public static boolean isIDCard(String val) {
Pattern p = Pattern.compile("\\d{15}|\\d{18}");
return p.matcher(val).matches();
}
/**
* 匹配中国邮政编码
* @param val
* @return
*/
public static boolean isZipCode(String val) {
Pattern p = Pattern.compile("[1-9]\\d{5}(?!\\d)");
return p.matcher(val).matches();
}
/**
* 匹配腾讯QQ号
* @param val
* @return
*/
public static boolean isQq(String val) {
Pattern p = Pattern.compile("[1-9][0-9]{4,}");
return p.matcher(val).matches();
}
/**
* 匹配国内电话号码
* @param val
* @return
*/
public static boolean isTel(String val) {
Pattern p = Pattern.compile("\\d{3}-\\d{8}|\\d{4}-\\d{7}");
return p.matcher(val).matches();
}
/**
* 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
* @param val
* @return
*/
public static boolean isAccount(String val) {
Pattern p = Pattern.compile("^[a-zA-Z][a-zA-Z0-9_]{4,15}$");
return p.matcher(val).matches();
}
/**
* 匹配网址URL的正则表达式
* @param val
* @return
*/
public static boolean isUrl(String val) {
Pattern p = Pattern.compile("[a-zA-z]+://[^\\s]*");
return p.matcher(val).matches();
}
/**
* 匹配Email地址的正则表达式
* @param val
* @return
*/
public static boolean isEmail(String val) {
Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
return p.matcher(val).matches();
}
/**
* 匹配首尾空白字符的正则表达式
* @param val
* @return
*/
public static boolean isBlank(String val) {
Pattern p = Pattern.compile("^\\s*|\\s*$");
return p.matcher(val).matches();
}
/**
* 匹配空白行的正则表达式
* @param val
* @return
*/
public static boolean isBlankLine(String val) {
Pattern p = Pattern.compile("\\n\\s*\\r");
return p.matcher(val).matches();
}
/**
* 匹配中文字符的正则表达式
* @param val
* @return
*/
public static boolean isChiness(String val) {
Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
return p.matcher(val).matches();
}
}