^[1-9]\d*|0$ 匹配非负整数(正整数 + 0) |
^-[1-9]\d*|0$ 匹配非正整数(负整数 + 0) |
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 匹配正浮点数 |
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 匹配负浮点数 |
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 匹配浮点数 |
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 匹配非负浮点数(正浮点数 + 0) |
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 匹配非正浮点数(负浮点数 + 0) |
验证:
let regFloat = /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/; //浮点数
let numArray = ['0.59','-116.31','00.58','0.00','06.56','0','45678','4.56.78','456.78'];
numArray.map(itme=>{
console.log('[regFloat]',itme+'=>', regFloat.test(itme))
})
![](https://i-blog.csdnimg.cn/blog_migrate/8863d4feff56842c3d1cf3331eb7dfa9.png)