2011-04-07 22 views
0

如何將我的文本字段限制爲僅限數字,並使用單個函數將它們限制爲兩個。限制數字並將其限制爲兩個

+3

你是什麼意思「限制他們在兩個」? – mplungjan 2011-04-07 08:26:57

+2

到目前爲止你有什麼? – Kobi 2011-04-07 08:27:15

+1

文本字段具有「maxsize」屬性,不需要JS。檢查谷歌的「文本字段限制數字」爲gazillion教程。 – bdares 2011-04-07 08:28:06

回答

1
<script type="text/javascript"> 
    function ValidateField(FieldName){ 

     // Get fields value 
     var FieldVal = document.GetElementById(FieldName).value; 

     // Check it's a number, and then check it's range is correct 
     // Alternatively you could do FieldVal.length 
     if(!isNaN(FieldVal) && (FieldVal < 100 && FieldVal > -100)) 
      alert("Valid!"); 
     else 
      alert("Invalid"); 
    } 
</script>  

<input type="text" name="MyField" /> 
<button onclick="ValidateField('MyField')">Test</button> 

我解釋 '限2' 是指一些從-99到99

+0

爲什麼限制它在JS中,而我們有輸入標籤本身的屬性。 – 2011-04-07 08:33:04

+0

由於減號和加號。 -99是3的長度,但是OP可能希望這個通過是有效的。 – 2011-04-07 08:37:23

+1

99.95也是一個數字 – Corneliu 2011-04-07 08:37:52

2

限制他們僅輸入2個字符使用maxlength輸入的屬性。檢查輸入字符串是否爲用戶isNaN(str)函數的編號。

1

在HTML5中你可以使用:<input type="number" />

1

如果您正在使用jQuery:

$('#myTextAreaID').keydown(function(event) { 
    if (event.target.length >1 || event.keyCode < 48 || event.keyCode > 57) { 
    event.preventDefault(); 
    } 
}); 

,如果你想讓它與數字鍵盤的工作,你需要還允許鍵碼96至105

+0

進一步思考這可能會更好:event.target.length> 1 ||使用String.fromCharCode(event.keyCode).match(/ \ d /); – herostwist 2011-04-07 09:47:35

2

由於沒有人提出正則表達式,我會。 :-)

var re = /^-?\d{1,2}$/; 
if (re.test(input.value)) { 
    // number is one or two digits with optional leading minus 
} else { 
    // it's not 
} 
相關問題