テキストフィールドにアルファベット以外が指定されたら警告する


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × - × -
Macintosh × - × - - ×
UNIX - - - - - × - - -
Dreamcast - - - - - - - - - - × × -

ポイント txt = document.myFORM.moto.value; if (txt.match(/[^a-z|^A-Z]/g)) alert("アルファベット以外が含まれてます");
説  明 テキストフィールドに入力された文字列が全て文字列かどうかは正規表現を使うと簡単にできます。アルファベット以外かどうかは「/[^a-z|^A-Z]/」のように記述します。ただし、このままでは文字列全体をチェックしないためグローバルマッチを示すgを付けて「/[^a-z|^A-Z]/g」のように記述します。また、「/[^a-z]/gi」とi(大文字小文字を無視)を付加しても同様にチェックすることができます。
サンプル <html> <head> <title>テキストフィールドの文字がアルファベット以外なら警告する</title> <script Language="JavaScript"><!-- function checkText() { txt = document.myFORM.moto.value; if (txt.match(/[^a-z|^A-Z]/g)) alert("アルファベット以外が含まれてます"); } // --></script> </head> <body> <form name="myFORM"> <input type="text" name="moto"> <input type="button" value="調べる" onClick="checkText()"> </form> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA