名前と電話のみを含む小さなhtmlお問い合わせフォームがあります。
私がやろうとしているのは、Key Up
イベントが発生するたびに、どのキーが押されたかを確認したいということですPhone
。フィールドについては、数字のみを受け入れます。フィールドには、Name
数字ではなくアルファベットのみを許可します。
たとえば、入力にデータをPhone
入力しているときに、数字以外の文字を押すと、入力フィールドに表示されないはずです。
これどうやってするの?
名前と電話のみを含む小さなhtmlお問い合わせフォームがあります。
私がやろうとしているのは、Key Up
イベントが発生するたびに、どのキーが押されたかを確認したいということですPhone
。フィールドについては、数字のみを受け入れます。フィールドには、Name
数字ではなくアルファベットのみを許可します。
たとえば、入力にデータをPhone
入力しているときに、数字以外の文字を押すと、入力フィールドに表示されないはずです。
これどうやってするの?
数字の場合は、次の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を変更して、必要な文字のみを許可することができます。
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/