使用javascript限制可接受输入的选择

bom*_*mbo 0 javascript

是否可以阻止用户使用javascript将文字写入文本框(即强制用户仅在文本框中输入数字)?

cle*_*tus 5

当然,您在keydown事件上放置一个事件处理程序,并在相关文本框具有焦点时取消非数字的事件处理程序.看element.onkeydown事件.

您当然可以在vanilla Javascript中执行此操作,但与许多事情一样,使用库(如jQuery)更容易.

例如,假设:

<input id="one" type="text">
<input id="two" type="text">
Run Code Online (Sandbox Code Playgroud)

尝试:

document.getElementById("one").onkeydown = numbers_only;

function numbers_only(evt) {
  return evt.keyCode >= 48 && evt.keyCode <= 57;
}
Run Code Online (Sandbox Code Playgroud)

第一个应该只允许数字.

  • @rahul:在纯JS中处理粘贴和删除事件是有问题的.请参阅http://www.quirksmode.org/dom/events/cutcopypaste.html (2认同)