テキストフィールドに数値以外が指定されたら警告する


動作ブラウザ 【 IE:3.0  NN:2.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; for (i=0; i<txt.length; i++) { c = txt.charAt(i); if ("0123456789".indexOf(c,0) < 0) { alert("数値以外が含まれてます"); return; } }
説  明 テキストフィールドに入力された文字列が全て数値かどうかはforを使って入力された文字列の長さだけ0〜9までかどうかを調べます。0〜9までかどうかは、「"0123456789".indexOf(調べる文字,0)」で簡単に調べることができます。この戻り値が-1ならば0〜9以外という事になりますので、alert()を使ってメッセージを表示します。
サンプル <html> <head> <title>テキストフィールドに数値以外が指定されたら警告する</title> <script Language="JavaScript"><!-- function checkNum() { txt = document.myFORM.moto.value; for (i=0; i<txt.length; i++) { c = txt.charAt(i); if ("0123456789".indexOf(c,0) < 0) { alert("数値以外が含まれてます"); return; } } } // --></script> </head> <body> <form name="myFORM"> <input type="text" name="moto"> <input type="button" value="調べる" onClick="checkNum()"> </form> </body> </html>
補足説明 なし

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

写真素材 PIXTA