如何在按键时验证数值

Sad*_*aal 5 javascript dom-events

我有这个简单的 HTML 文档

<input type="text"  id="my_text" onkeypress="valid_numbers(event);" size="30"/>
<script type="javascript">
function valid_numbers(e)
{
        var key=e.which || e.KeyCode;
        if  ( key >=48 && key <= 57)
         // to check whether pressed key is number or not 
                return true; 
         else return false;
}
</script>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

onkeypressmy_text如果按下的键是数字则允许否则拒绝写入字符。

但是上面的代码不起作用,my_text元素接受任何字符,上面的代码有什么问题?!...

请帮助!..

Mor*_*ani 4

我认为做到这一点的简单方法是:

<input type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />
Run Code Online (Sandbox Code Playgroud)

但是当您粘贴一些文本时就会出现问题,那么HTML5数字类型输入可能是更好的选择:

顺便说一句,SO如果您像这样搜索,您可以找到更好的建议。