javascript:忽略无效输入作为用户类型或更改文本框值

时间:2012-12-18 10:48:19

标签: javascript

  

可能重复:
  How to allow only numeric (0-9) in HTML inputbox using jQuery?

如何将用户输入限制为文本框中的用户类型?

例如,我想只接受一个数字,我想忽略用户输入,只要它放入非数字字符。 所以,

  1. 如果用户输入无效字符
  2. ,我需要保留现有值
  3. 它应该能够处理任何其他输入更改的情况(即打字,复制粘贴等)。
  4. 谢谢! 罗伯特

2 个答案:

答案 0 :(得分:0)

在文本框中使用onKeyPress()事件获取用户输入并根据需要相应地处理它。

要处理复制+粘贴方案,您可以通过onChange()事件处理来处理。

答案 1 :(得分:0)

您可以使用表单的onsubmit事件验证javascript中的表单:

<form enctype="application/x-www-form-urlencoded" method="post" onsubmit="validate(this);">
    <input type="text" name="number" />
    <input type="submit" name="submit" value="send" />
</form>

然后剩下的就是验证:

function validate(form) {
    if(isNaN(form.number.value)) {
        alert('not a number!');

        return false;
    }
}

问题是,javascript运行客户端。这意味着人们可以轻松绕过这个,所以你必须以任何一种方式检查服务器端。

如果您确定您的受众群体拥有现代浏览器,您还可以使用HTML5元素<input type="number" />。但话说回来,这是客户端的,你必须检查服务器端。