2013-05-14 80 views
0

我想通過正則表達式驗證數字。
我的有效數字是:驗證長度和真十進制格式的限制數

123456789.123 

123.9 

0.686` 

小數點前必須爲1至最多15個號碼,後它必須最大限度的3個號碼;負數是可選的。

無效號碼:

0.0 
0.00 
0.000 
000 
097654 
05978.7 
.657665 
5857. 

我發現這個正則表達式可我,叔組數字長度限制:

^-?(([1-9]\d*)|0)(\.0*[1-9](0*[0-9])*)?$ 

回答

0

,我發現自己的解決方案

^-?(([1-9])([0-9]{1,14})?|0)(\.[0-9]?[0-9]?[1-9])?$ 
0

代替*使用的{A,B},其中a是前面的最小數目和b最大值。沒有最小/最大值省略a或b。

+0

當我編輯頂部的正則表達式小數點前限制爲只接受15位數字,它 不能匹配 ^ - ?(([1-9] \ d ){1,15} |?0)(\ 0 * [1-9](0 * [0-9])*)$ – 2013-05-14 10:59:04