web-dev-qa-db-ja.com

入力フィールドがjavaScriptの文字のみを受け入れるようにするにはどうすればよいですか?

function validate() {
if(document.myForm.name.value =="" ){
alert("Enter a name");
document.myForm.name.focus();
return false;
}

これは私が空の文字列のために書いたものですが、今では文字だけを受け入れる必要がありますか?

10
Raghu

文字のみが必要な場合-aからzまで、小文字または大文字で、他のすべて(数字、空白、記号)を除いて、関数を次のように変更できます。この:

function validate() {
    if (document.myForm.name.value == "") {
        alert("Enter a name");
        document.myForm.name.focus();
        return false;
    }
    if (!/^[a-zA-Z]*$/g.test(document.myForm.name.value)) {
        alert("Invalid characters");
        document.myForm.name.focus();
        return false;
    }
}
12
Stefano Dalpiaz
function alphaOnly(event) {
  var key = event.keyCode;
  return ((key >= 65 && key <= 90) || key == 8);
};

または

function lettersOnly(evt) {
       evt = (evt) ? evt : event;
       var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
          ((evt.which) ? evt.which : 0));
       if (charCode > 31 && (charCode < 65 || charCode > 90) &&
          (charCode < 97 || charCode > 122)) {
          alert("Enter letters only.");
          return false;
       }
       return true;
     }
4
Chankey Pathak

これを試して:

var alphaExp = /^[a-zA-Z]+$/;
            if(document.myForm.name.match(alphaExp))
            {
                //Your logice will be here.
            }
            else{
                alert("Please enter only alphabets");
            }

ありがとう。

2
Raja Danish

テキストボックスでonkeyupを使用し、押されたキーのキーコードを確認します。65〜90の場合は、テキストボックスを空にします。

1
rgodse