我有一个小的 html 联系表格,其中仅包含姓名和电话。
我想要做的是每当Key Up
事件发生时我想检查按下了哪个键,并且对于该Phone
字段我只接受数字。对于该Name
字段,我只允许字母,而不是数字。
例如,如果我在输入中输入数据Phone
,并且按下除数字以外的任何字符,则它不应显示在输入字段中。
我怎样才能做到这一点?
我有一个小的 html 联系表格,其中仅包含姓名和电话。
我想要做的是每当Key Up
事件发生时我想检查按下了哪个键,并且对于该Phone
字段我只接受数字。对于该Name
字段,我只允许字母,而不是数字。
例如,如果我在输入中输入数据Phone
,并且按下除数字以外的任何字符,则它不应显示在输入字段中。
我怎样才能做到这一点?
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/
对于数字字符,仅添加以下 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 以仅允许您想要的任何字符。