-1

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

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

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

我怎样才能做到这一点?

4

2 回答 2

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/

于 2013-03-04T19:16:41.263 回答
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 以仅允许您想要的任何字符。

于 2013-03-04T19:13:31.763 回答