任何人都可以帮我构建 javscript 正则表达式来验证 6 位数字和 2 位小数吗? 这些示例应该通过测试
0, 0.0, 0.33, 1, 11, 111, 1111, 11111, 111111
1.33, 1.3, 12.33, 12.3, 123.0, 123.33, 1234.0, 1234.11
尝试过这个:
/^\d{1,4}(\.\d{1,2})?$/
但是当按下 .(dot) 时,它在 jquery 中失败
最佳答案
尝试正则表达式:/^\d{1,6}(\.\d{1,2})?$/
。注意:您需要转义点。
如果您要求总位数(包括小数点后)最多为6位,则正则表达式将为:/^(?!.{8,})\d{1,6 }(\.\d{1,2})?$/
.该表达式添加了一个否定前瞻 ?!.{8,}
,这将排除那些长度大于 7 的数字。
更新:
正如@Christoph指出的,应该排除“01.23”,那么上面两个表达式应该是 /^([1-9]\d{0,5}|0)(\.\d{1,2 })?$/
和 /^(?!.{8,})([1-9]\d{0,5}|0)(\.\d{1,2} )?$/
分别。
关于javascript - 带小数位数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274073/