我正在尝试编写一个正则表达式来验证十进制数字。
此正则表达式验证小数点后的内容
^(?:[1-9][0-9]{0,4}|0)$
此正则表达式验证小数点后的内容
^[0-9]{1}+$
我只是不知道如何将两者结合起来,使得小数位是强制性的。
我该如何解决这个问题?
答案 0 :(得分:5)
据我所知,这可行
^(?:[1-9]\d{0,4}|0)\.\d$
扩展
^ # BOS
(?:
[1-9] \d{0,4} # 1-5 digits, must not start with 0
| # or,
0 # 0
)
\. \d # decimal point and 1 digit
$ # EOS
答案 1 :(得分:0)
应该可以
const r = /^(?:[1-9]\d{0,4}|0)\.\d+/
const arr = ['0', '1', '1.2', '1.', '1.123', '0123.1', '123.123', '1234.1', '12345.12345678', '123456.123', '0.12'];
arr.forEach((val) => {
console.log(val, r.test(val));
})
答案 2 :(得分:0)