JS 正则匹配非负浮点数

3 min read
/^\d+(\.\d+)?$/

这个正则表达式中,^ 表示字符串开头,$ 表示字符串结尾,\d 表示数字字符,+ 表示前面的字符至少出现一次,(.\d+)?表示小数部分可有可无。

使用的时候需要使用 test() 方法

let regex = /^\d+(\.\d+)?$/;
console.log(regex.test("123.456")) // true
console.log(regex.test("123")) // true
console.log(regex.test("-123.456")) // false
console.log(regex.test("abc")) // false

这个正则表达式可以用来匹配非负浮点数,如果想要匹配浮点数,可以去掉 ^ 和 $ 两个字符。