zoukankan      html  css  js  c++  java
  • 验证整数和小数的正则表达式

     

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

      验证非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来判断小数点是否在第一位。

     

  • 相关阅读:
    Jzoj2682 最长双回文串
    Jzoj2682 最长双回文串
    【hdu3853】Loops
    【tyvj1015】【caioj1060】公路乘车
    【luogu1064】金明的预算方案
    【bzoj1260】【CQOI2007】涂色paint
    【UVa1629】Cake slicing
    【NYOJ746】整数划分(四)
    【NYOJ 15】括号匹配2
    【poj2955】Brackets
  • 原文地址:https://www.cnblogs.com/Chary/p/14183007.html
Copyright © 2011-2022 走看看