正则表达式验证体重 支持小数点输入前三位小数点后两位(例:100.23)

正则表达式验证体重 支持小数点输入前三位小数点后两位(例:100.23)

阅读 4k
4 个回答

/^([1-9]\d{0,2}|0)(\.\d{1,2})?$/

/^\d{1,3}(\.\d{1,2})?$/

简单点的匹配, 整数1-3位,可以没有小数点,有小数点的时候,小数必须是1-2位
至于有效数字,把这个转换成数字之后,自然就是有效数字,范围(0~999.99)

var reg = /^\d\d\d\.\d\d$/
reg.test('100.23') // true
reg.test('100323') // false
reg.test('100.233') // false

不知道你是否需要做数字有效性检测, 比如:

reg.test('000.20') // true

如果首位和末位不允许为0,就不使用\d,使用字符集[123456789],把0排除掉:

var reg = /^[123456789]\d\d\.\d[123456789]$/
reg.test('000.20') // false

如果验证体重的话,感觉90.22,应该也可以吧,有的人体重没有上100斤,如果是这种感觉还得改成允许两位整数的情况:

var reg = /^[123456789]\d?\d\.\d[123456789]$/
reg.test('90.22') // true

如果还有更细的需求,可能还得加更多的判断。

这是一个相当完整的规则
var MDREG=/^(([123456789]\d{0,2})|0)(\.\d{0,2})?$/
你可以测试一下。

image

这是一个更完整的(支持.1/.12这样的输入的)规则
var MDREG=/^(([123456789]\d{0,2})|0)?(\.\d{0,2})?$/

image

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题