-1

可能重复:
如何使用 jQuery 在 HTML 输入框中只允许数字(0-9)?

当用户在文本框中输入内容时,如何限制用户输入?

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

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

谢谢!!!罗伯特

4

2 回答 2

0

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

要处理复制 + 粘贴场景,您可以通过 onChange() 事件处理进行处理。

于 2012-12-18T10:53:45.550 回答
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" />。但是话又说回来,这是客户端,您必须检查服务器端。

于 2012-12-18T10:55:24.957 回答