0

テキストボックスに小数点を1つだけ許可するhtmlのコードは次のとおりです。

<html>
<head>

 <script type="text/javascript" language="javascript"> 

    function isNumberKey(evt) { 
         var charCode = (evt.charCode) ? evt.which : event.keyCode


         if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) 
             return false; 
         else { 
         var input = document.getElementById("txtChar").value;
             var len = document.getElementById("txtChar").value.length; 
             var index = document.getElementById("txtChar").value.indexOf('.'); 

             if (index > 0 && charCode == 46) { 
                 return false; 
             } 
             if (index >0 || index==0) { 
                 var CharAfterdot = (len + 1) - index; 
                 if (CharAfterdot > 2) { 

                     return false; 
                 } 

        }

    if (charCode == 46 && input.split('.').length >1) {
        return false;
        }


         } 
         return true; 
      } 
      </script> 


</head>
<body>
<input type="text" id="txtChar" onkeypress="return isNumberKey(event)"  name="txtChar" class="CsstxtChar" maxlength="4"/>
</body>
</html>

c# を使用して asp.net でこれを実行したいのですが、このコードは asp.net では正しく動作しません。

4

3 に答える 3

0

これ使えば助かる……

$('.urInputField').keyup(function(e){
  var val = $(this).val();
  var regexTest = /^\d{0,8}(\.\d{1,2})?$/;
  var ok = regexTest.test(val);
  if(ok) {
      $(this).css('background-color', 'green');
  } else {
      $(this).css('background-color', 'red');
  }
});
于 2013-09-24T10:39:04.620 に答える