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

  网上很多关于验证小数的正则表达式,但是很多都不是百分百正确,所以我结合一些前辈的经验,自己写了一个。

  验证非0开头的无限位整数和小数。整数支持无限位,小数点前支持无限位,小数点后最多保留两位。

  js代码如下:

  var reg = /^(([^0][0-9]+|0)\.([0-9]{1,2})$)|^(([^0][0-9]+|0)$)|^(([1-9]+)\.([0-9]{1,2})$)|^(([1-9]+)$)/;

  

  单独拆分:

  1. 整数:/^(([^0][0-9]+|0)$)|^(([1-9]+)$)/

  2. 小数:/^((([^0][0-9]+|0)\.([0-9]{1,2}))$)|^(([1-9]+)\.([0-9]{1,2})$)/

 

  根据需求可更改:

  1. 若更改小数点前限制位数,则更改 + (例如:小数点前限制4位——([^0][0-9]\d{0,3}|0)——([1-9]]\d{0,3}) ),整数同理。

  2. 若更改小数点后限制位数,则更改 {1,2} ( 例如::小数点后最多保留3位——{1, 3};小数点后必须保留3位——{3} )。

  补充:

  经校验,此正则无法校验第一位就是 . 的数字,如:.1234 。故在程序校验中,还要用indexOf来判断小数点是否在第一位。

转载于:https://www.cnblogs.com/overfly/p/9753478.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值