正则表达式:实数
校验字符串,为有效的实数。
可以为:正数或负数;
可以为:整数或小数;
可以为:类似 0.0000
的数值;
不可以为:非数值型的字符串;
不可以为:一连串的 0
;
不可以为:-0
;
不可以为:类似 -0.0000
的数值;
原始正则表达式
^0(\.\d+)?$|^-0\.\d*[1-9]\d*$|^-?[1-9]\d*(\.\d+)?$
Java正则表达式
^0(\\.\\d*[1-9]\\d*)?$|^-0\\.\\d*[1-9]\\d*$|^-?[1-9]\\d*(\\.\\d+)?$
Validation示例
@NotBlank(message = "百分比,不能为空")
@Pattern(regexp = "^0(\\.\\d*[1-9]\\d*)?$|^-0\\.\\d*[1-9]\\d*$|^-?[1-9]\\d*(\\.\\d+)?$", message = "百分比,必须为数值")
@Range(min = 0, max = 100, message = "百分比,取值范围为[0, 100]")
@Digits(integer = Integer.MAX_VALUE, fraction = 6, message = "百分比,最多保留6位小数")
@ApiModelProperty(value = "百分比", example = "80")
private String percentString;
验证通过示例
正数或负数