如何限制输入文本

时间:2013-03-04 19:03:49

标签: javascript jquery html

我有一个小的html联系表单,其中只包含姓名和电话。

我想要做的是每当Key Up事件发生时我想检查按下了哪个键,对于Phone字段,我只接受数字。对于Name字段,我只允许使用字母而不是数字。

例如,如果我在Phone输入中键入数据,并按下除数字之外的任何字符,则它不应显示在输入字段中。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

对于数字字符,只需添加以下javascript:

function checkInput(e)
{
  var k;
  document.all ? k = e.keyCode : k = e.which;
  var char = String.fromCharCode(k);
  if(!char.match(/^\d+$/))return false;

  return true;
}

然后在输入元素的标记中添加onkeypress =“return checkInput(event)”。

您可以修改JS以仅允许您想要的任何字符。

答案 1 :(得分:1)

HTML

<input type="text" name="phone" id="phone" placeholder="Phone" /><br />
<input type="text" name="name" id="name" placeholder="Name" />

的jQuery

$("#phone").keyup(function() {
    if (this.value.match(/[^0-9]/g)) {
      this.value = this.value.replace(/[^0-9]/g, '');
    }
});

$("#name").keyup(function() {
     if (this.value.match(/[^a-zA-Z]/g)) {
       this.value = this.value.replace(/[^a-zA-Z]/g, '');
     }
});

演示:http://jsfiddle.net/calder12/KfRxv/