JavaScript検証テキストボックスは数字のみ入力できます.

1208 ワード

プロジェクトのために金額を記入する必要があります.上司は数字を入力するしかないと要求しています.インターネットで長い時間を探しています.ほとんどの検証はkeyCodeの範囲を判断しています.このようにして、キャンセルボタン、回車ボタン、方向キーなどのコントロールキーも使えないので、自分で検証を書きました.
この認証は数字と小数点しか入力できません.制御キーで文字を削除できます.小数点は一つしかありません.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>         </title>
  </head>
  
  <body>
	<input type="text" name="num" id="num" onkeypress="return keypress(event)">
	<script type="text/javascript">
	  function keypress(e){
	    e = e ? e : window.event ? event : null;
	    var keyNum = event.keyCode;
	    var keyChar = String.fromCharCode(keyNum);
	    var regDig = /\d/g;
	    if(regDig.test(keyChar) || keyChar == ""){
	      return true;
	    }
	    var regDot = /\./g;
	    if (regDot.test(keyChar) && !regDot.test(document.getElementById("num").value)){
	      return true;
	    }
	    return false;
	  }
	</script>
  </body>
</html>