2011-10-13 221 views

回答

10

試試這個正則表達式:

/^-?\d{2}(\.\d+)?$/ 
+0

一些無效*數字*值通過測試用這個表達式:' '-00.23','-0' ' –

4

這個正則表達式匹配任何有效的整數。

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

你可以修改這個適合你的需求:

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

此匹配2.1,21.4,3,90 ...

0

試試這個正則表達式:

/^-?[0-9]{2}(?:\.[0-9]+)?$/ 
0

試試這個:

/^(-)?\d{2}(\.\d+)?$/ 
0

您可以使用正則表達式:

-?\d{2}[.]?\d* 
0

你的正則表達式(/^(-)\d{2}(.d{1})$/ )確實是:

先開始要求負數,然後正確地要求 兩位數字,然後用「。」你需要任何字符,你應該用「\」將它嚴格限制在符號上,最後來一個數字。

正確的示例代碼如下:

var str = '-34.23'; 
pat=/^\-?\d{2}(\.(\d)*)?$/g; 
str.match(pat); 

更多可測試的例子: 「?」 http://jsfiddle.net/GUFgS/1/

使用在這個小組做出匹配選項後,即(\。\ d *)?

3

也許正則表達式是不是需要。

function validate(val){ 
    return isNaN(val)?false:(Math.abs(Math.floor(val)).toString().length==2); 
} 
0

這下面簡單的HTML代碼將驗證在+ ve的2個位數& -ve號碼加小數點後可選最低1位的。

JS代碼:

function validateNum() { 
     var patForReqdFld = /^(\-)?([\d]{2}(?:\.\d{1,})?)$/; 
     var value = document.getElementById('txtNum').value; 

     if(patForReqdFld.test(value)) { 
      alert('Valid Number: ' + value); 
     } else { 
      alert('Invalid Number: ' + value); 
     } 
    } 

HTML代碼:

<label>Enter Number:&nbsp;</label> 
    <input type="text" id="txtNum" onBlur="validateNum()"/> 
相關問題