结合网上的各种校验表达式,整理,最终得到正数的表达式
import java.util.regex.Pattern; /** * @author mxf * @version V1.0 * @date 2019/05/13 11:11 * @description 参数简单正则校验工具类 */ public class UtilValidator { /** * 正则表达式:验证手机号(国内) */ public static final String REGEX_MOBILE = "0?(13|14|15|18|17)[0-9]{9}"; /** * 正则表达式:验证邮箱 */ public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; /** * 正则表达式:验证汉字 */ public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$"; /** * 正则表达式:验证身份证 */ public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)"; /** * 正则表达式:验证URL */ public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?"; /** * 正则表达式:验证IP地址 */ public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)"; /** * * 匹配正数 * */ public static final String POSITIVE_NUMBER = "^(0\\.0*[1-9]+[0-9]*$|[1-9]+[0-9]*\\.[0-9]*[0-9]$|[1-9]+[0-9]*$)"; /** * * 匹配整数 * */ public static final String INTEGER_REGEXP = "-?[1-9]\\d*"; /** * * 匹配正整数 * */ public static final String POSITIVE_INTEGER_REGEXP = "[1-9]\\d*"; /** * 匹配非负整数(正整数 + 0) */ public static final String NON_NEGATIVE_INTEGERS_REGEXP = "^\\d+$"; /** * * 匹配负整数 * */ public static final String NEGATIVE_INTEGERS_REGEXP = "-[1-9]\\d*"; /** * * 匹配非正整数(负整数 + 0) * */ //public static final String NON_POSITIVE_INTEGERS_REGEXP = ""; /** * * 匹配正浮点数 * */ public static final String POSITIVE_RATIONAL_NUMBERS_REGEXP = "[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*"; /** * * 匹配非负浮点数(正浮点数 + 0) * */ //public static final String NON_NEGATIVE_RATIONAL_NUMBERS_REGEXP = "^//d+(//.//d+)?$"; /** * * 匹配负浮点数 * */ public static final String NEGATIVE_RATIONAL_NUMBERS_REGEXP = "-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)"; /** * * 匹配非正浮点数(负浮点数 + 0) * */ //public static final String NON_POSITIVE_RATIONAL_NUMBERS_REGEXP = "^((-//d+(//.//d+)?)|(0+(//.0+)?))$"; /** * 校验手机号 * * @param mobile * @return 校验通过返回true,否则返回false */ public static boolean isMobile(String mobile) { return Pattern.matches(REGEX_MOBILE, mobile); } /** * 校验邮箱 * * @param email * @return 校验通过返回true,否则返回false */ public static boolean isEmail(String email) { return Pattern.matches(REGEX_EMAIL, email); } /** * 校验汉字 * * @param chinese * @return 校验通过返回true,否则返回false */ public static boolean isChinese(String chinese) { return Pattern.matches(REGEX_CHINESE, chinese); } /** * 校验身份证 * * @param idCard * @return 校验通过返回true,否则返回false */ public static boolean isIDCard(String idCard) { return Pattern.matches(REGEX_ID_CARD, idCard); } /** * 校验URL * * @param url * @return 校验通过返回true,否则返回false */ public static boolean isUrl(String url) { return Pattern.matches(REGEX_URL, url); } /** * 校验IP地址 * * @param ipAddr * @return */ public static boolean isIPAddr(String ipAddr) { return Pattern.matches(REGEX_IP_ADDR, ipAddr); } /** * 校验正数(0也返回true) * * @param num * @return 校验通过返回true,否则返回false */ public static boolean isPositiveNumber(String num) { if("0".equals(num)){ return true; }else{ return Pattern.matches(POSITIVE_NUMBER, num); } } /** * * @param source * 匹配的源字符串 * @param regexp * 匹配的正规表达式 * @return 如果源字符串符合要求返回真true,否则返回假false */ public static boolean isHardRegexpValidate(String source, String regexp) { return Pattern.matches(regexp,source); } /*public static void main(String[] args) { //System.out.println(UtilValidator.isHardRegexpValidate("1215454.556565",POSITIVE_NUMBER)); System.out.println(isPositiveNumber("54")); }*/