带两位小数的数字可以拆分成整数和小数部分
1.整数部分如果位数在两位以上,首位不能是0,不可能出现0199,所以这里就有两种情况,一位的情况(^
开头匹配,$
结尾匹配,这里从头到尾只能是数字)
/^[0-9]$/
位数两位以上(\d
匹配任意数字)
/^[1-9]\d+$/
两种情况都是要首尾匹配的,所以把它们分属到同一个组里
/^([0-9]|[1-9]\d+)$/
2.小数部分结构是.两位数
,有点就有小数,没点就没小数,所以他们同属一个组。同时这里保留是两位小数({x}
匹配x个字符,两位小数 x=2),并且小数部位只有0次和1次出现(?
匹配0或1次)
/(\.\d{2})?/
3.整合整数部分和小数部分
/^([0-9]|[1-9]\d+)(\.\d{2})?$/