javascript - 十进制正则表达式和空字符串

标签 javascript regex decimal

我有这个 javascript 正则表达式(小数点后 3 位,带有一个)

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

我还想匹配一个空字符串 "" 我相信它是

^$

如何将这些组合成 1 个正则表达式

这些应该是通过测试

"" //empty string
1
1.
1.0
1.00
1.000
123456789
0
.0
.00
.000

我希望我已经涵盖了所有这些内容。

最佳答案

不包括空格,您当前的表达式似乎不符合您的要求。

^\d*\.?\d{0,3}$

可选的前导数字、可选的点、末尾之前最多三位数字。

编辑: @Guffa 注意到我原来的解决方案也只会匹配一个点“。”

^\d*((\d\.)|(\.\d))?\d{0,3}$

此版本将 \.? 检查替换为检查数字后跟一个点,或检查一个点后跟一个数字,或两者都不检查。

关于javascript - 十进制正则表达式和空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19671029/

相关文章:

regex - 替换变量中的随机字符

javascript - 在正则表达式的替换字符串中插入 $

java - 在java中将十进制值的字节数组转换为十六进制字符串

javascript - 为什么要在 $(function () { ... }) 里面声明?

javascript - 强制 json_encode 在平面数组中创建数值字符串

python - 使用正则表达式查找大写字母不在句子开头的单词

c++ - 二进制数与十进制数的转换

python - 如何评估字符串输入并检查它是否为小数

javascript - 如何使用Javascript更改另一个元素onclick的Bgcolor?

javascript - 使用 AngularJS $stateProvider 在 URL 中隐藏当前状态名称