如何在firefox的文本框中只有数字有效?

时间:2011-07-01 10:09:05

标签: javascript jquery asp.net

我在IE 9和firefox 4&中的文本框中有效数字有问题5, 有人知道吗? 我尝试了之前所有问题的答案,但仍面临问题, 我只想用来输入文本框中的数字, 我也使用asp.net代码语言。

5 个答案:

答案 0 :(得分:2)

据我所知,您只想在文本字段中允许使用数字字符,如果它们不是数字,您将返回其他字符。所以,你可以通过这个

步骤1。创建一个javascript函数

<script language="text/javascript">
function onlyNumbers(evt)
{
var e = window.event || evt; // for trans-browser compatibility
var charCode = e.which || e.keyCode;

if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

return true;

}
</script>

步骤2。 onkeypress调用这个函数

如果您在任何事件上调用任何javascript方法,则始终传递的第一个参数是event。对于IE,您需要通过window.event来捕获事件。

有关更清晰的提示,请访问: - https://developer.mozilla.org/En/DOM/Event

答案 1 :(得分:0)

尝试masked input plugin获取jquery。

答案 2 :(得分:0)

<textarea onkeyup="test(this);"></textarea>

<script type="text/javascript">
function test(el) {
el.value = el.value.replace(/[^0-9\.]/g,'');
}
</script>

答案 3 :(得分:0)

<asp:RegularExpressionValidator ID="vldNumber" ControlToValidate="txtNumber" Display="Dynamic" ErrorMessage="Please Enter Numeric Value" ValidationExpression="(^([0-9]*|\d*\d{1}?\d*)$)" Runat="server"> 

答案 4 :(得分:0)

使用jQuery,它很容易实现。

你应该用一个类来标记你需要只是数字的输入(如果你有jQuery,内联事件处理程序几乎没用):

<input type="text" class="numericInput">

并使用这个小jQuery:

$('input.numericInput').keypress(function (e) {
    return /[0-9]/.test(String.fromCharCode(e.which));
});

经过测试:Chrome,FF4,IE9。如果你想允许其他字符,只需操纵正则表达式。您可能希望允许其他一些键,例如Backspace。

jsFiddle Demo