驗證整數和小數的正則表達式


  網上很多關於驗證小數的正則表達式,但是很多都不是百分百正確,所以我結合一些前輩的經驗,自己寫了一個。

  驗證非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來判斷小數點是否在第一位。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM