海上孤帆 发表于 2023-7-24 13:38:47

正则表达式中的验证整数和小数

网上很多关于验证小数的正则表达式,但是很多都不是百分百正确,所以我结合一些前辈的经验,自己写了一个。  验证非0开头的无限位整数和小数。整数支持无限位,小数点前支持无限位,小数点后最多保留两位。  js代码如下:  var reg = /^(([^0]+|0)\.({1,2})$)|^(([^0]+|0)$)|^((+)\.({1,2})$)|^((+)$)/;    单独拆分:  1. 整数:/^(([^0]+|0)$)|^((+)$)/  2. 小数:/^((([^0]+|0)\.({1,2}))$)|^((+)\.({1,2})$)/   根据需求可更改:  1. 若更改小数点前限制位数,则更改 + (例如:小数点前限制4位——([^0]\d{0,3}|0)——(]\d{0,3}) ),整数同理。  2. 若更改小数点后限制位数,则更改 {1,2} ( 例如::小数点后最多保留3位——{1, 3};小数点后必须保留3位——{3} )。  补充:  经校验,此正则无法校验第一位就是 . 的数字,如:.1234 。故在程序校验中,还要用indexOf来判断小数点是否在第一位。
页: [1]
查看完整版本: 正则表达式中的验证整数和小数