2011-04-07 81 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 
}