NumberValidationUitl数字验证工具类

使用正则表达式验证数字格式。 

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author Johny
 * @version 1.0
 * 
 */
public class NumberValidationUtil {

	/**
	 * integer (-MAX, MAX)
	 */
	public final static String REGEX_INTEGER = "^[-\\+]?\\d+$"; //$NON-NLS-1$
	/**
	 * integer [1, MAX)
	 */
	public final static String REGEX_POSITIVE_INTEGER = "^\\+?[1-9]\\d*$"; //$NON-NLS-1$
	/**
	 * integer (-MAX, -1]
	 */
	public final static String REGEX_NEGATIVE_INTEGER = "^-[1-9]\\d*$"; //$NON-NLS-1$
	/**
	 * integer [0, MAX), only numeric
	 */
	public final static String REGEX_NUMERIC = "^\\d+$"; //$NON-NLS-1$
	/**
	 * decimal (-MAX, MAX)
	 */
	public final static String REGEX_DECIMAL = "^[-\\+]?\\d+\\.\\d+$"; //$NON-NLS-1$
	/**
	 * decimal (0.0, MAX)
	 */
	public final static String REGEX_POSITIVE_DECIMAL = "^\\+?([1-9]+\\.\\d+|0\\.\\d*[1-9])$"; //$NON-NLS-1$
	/**
	 * decimal (-MAX, -0.0)
	 */
	public final static String REGEX_NEGATIVE_DECIMAL = "^-([1-9]+\\.\\d+|0\\.\\d*[1-9])$"; //$NON-NLS-1$
	/**
	 * decimal + integer (-MAX, MAX)
	 */
	public final static String REGEX_REAL_NUMBER = "^[-\\+]?(\\d+|\\d+\\.\\d+)$"; //$NON-NLS-1$
	/**
	 * decimal + integer [0, MAX)
	 */
	public final static String REGEX_NON_NEGATIVE_REAL_NUMBER = "^\\+?(\\d+|\\d+\\.\\d+)$"; //$NON-NLS-1$

	private static boolean isMatch(String regex, String orginal) {
		if (orginal == null || orginal.trim().equals("")) { //$NON-NLS-1$
			return false;
		}
		Pattern pattern = Pattern.compile(regex);
		Matcher isNum = pattern.matcher(orginal);
		return isNum.matches();
	}

	/**
	 * 非负整数[0,MAX)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isNumeric(String orginal) {
		return isMatch(REGEX_NUMERIC, orginal);
	}

	/**
	 * 正整数[1,MAX)
	 *
	 * @param orginal
	 * @return boolean
	 * @Description: 是否为正整数
	 */
	public static boolean isPositiveInteger(String orginal) {
		return isMatch(REGEX_POSITIVE_INTEGER, orginal);
	}

	/**
	 * 负整数 (-MAX,-1]
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isNegativeInteger(String orginal) {
		return isMatch(REGEX_NEGATIVE_INTEGER, orginal);
	}

	/**
	 * 整数 (-MAX,MAX)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isInteger(String orginal) {
		return isMatch(REGEX_INTEGER, orginal);
	}

	/**
	 * 正小数 (0.0, MAX)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isPositiveDecimal(String orginal) {
		return isMatch(REGEX_POSITIVE_DECIMAL, orginal);
	}

	/**
	 * 负小数 (-MAX, -0.0)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isNegativeDecimal(String orginal) {
		return isMatch(REGEX_NEGATIVE_DECIMAL, orginal);
	}

	/**
	 * 小数 (-MAX, MAX)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isDecimal(String orginal) {
		return isMatch(REGEX_DECIMAL, orginal);
	}

	/**
	 * 实数,包括所有的整数与小数 (-MAX, MAX)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isRealNumber(String orginal) {
		return isMatch(REGEX_REAL_NUMBER, orginal);
	}

	/**
	 * 非负实数 [0, MAX)
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isNonNegativeRealNumber(String orginal) {
		return isMatch(REGEX_NON_NEGATIVE_REAL_NUMBER, orginal);
	}

	/**
	 * 正实数
	 *
	 * @param orginal
	 * @return boolean
	 */
	public static boolean isPositiveRealNumber(String orginal) {
		return isPositiveDecimal(orginal) || isPositiveInteger(orginal);
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值