フォームで数字のみ入力可能に
フォームで入力できる文字を数字のみに制限する。
<script language="JavaScript">
<!--
function numberOnly() {
st = String.fromCharCode(event.keyCode);
if ("0123456789\b\r\t".indexOf(st,0) < 0) return false;
return true;
}
//-->
</script><form action="">
<div>
郵便番号<br>
<input type="text" size="3"name="zip1" value="" onkeydown="return numberOnly()">
−
<input type="text" size="6"name="zip2" value="" onkeydown="return numberOnly()">
</div>
</form>
【2011/08/17追記】
テンキーでは入力できないとご指摘されました...できませんね。
今ならjQueryを使って以下のように書きます。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="Shift_JIS" /> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>jQuery数字のみ入力</title> <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script> </head> <body> <form action=""> <div> 郵便番号<br> <input type="text" size="3" name="zip1" class="zip" value="" /> − <input type="text" size="6" name="zip2" class="zip" value="" /> </div> </form> <script><!-- jQuery('input.zip').keypress(function(event) { st = String.fromCharCode(event.which); if ("0123456789\b\r\t".indexOf(st,0) < 0) return false; return true; }); //--></script> </body> </html>
でも、日本語は入力できちゃいますね。。。