使用javascript在asp.net中验证两个数字和两个十进制值的文本框

使用javascript在asp.net中验证两个数字和两个十进制值的文本框,javascript,jquery,asp.net,onblur,onkeypress,Javascript,Jquery,Asp.net,Onblur,Onkeypress,如何使用javascript在asp.net中检查两个数字和两个十进制值的文本框验证 例如,当我按下文本框中的键时,它应该只允许我使用xx.xx格式,例如:12.25、25.50、48.45等。我得到了答案 <div> <asp:TextBox ID="TextBox2" runat="server" onkeypress="return isDecimalNumber(event,this);" MaxLength="5"> <

如何使用javascript在asp.net中检查两个数字和两个十进制值的文本框验证

例如,当我按下文本框中的键时,它应该只允许我使用xx.xx格式,例如:12.25、25.50、48.45等。

我得到了答案

<div>
    <asp:TextBox ID="TextBox2" runat="server" 
         onkeypress="return isDecimalNumber(event,this);" MaxLength="5">
    </asp:TextBox>
</div>

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

  var count = 0;
  function isDecimalNumber(evt, c) {
      count = count + 1;
      var charCode = (evt.which) ? evt.which : event.keyCode;
      var dot1 = c.value.indexOf('.');
      var dot2 = c.value.lastIndexOf('.');
      if (count > 2 && dot1 == -1) {
          c.value = "";
          count = 0;
      }
      if (dot1 > 2) {
          c.value = "";
      }
      if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))
          return false;
      else if (charCode == 46 && (dot1 == dot2) && dot1 != -1 && dot2 != -1)
          return false;

      return true;
  }
</script>
试试这个

$('.TextBox2').keypress(function (event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
    event.preventDefault();
}

var text = $(this).val();
if ((text.indexOf('.') != -1) && (text.substring(text.indexOf('.')).length > 2)) {
    event.preventDefault();
}
});

你试过什么了吗?你能详细说明一下这是如何解决老年退休金问题的吗?虽然代码在技术上可能是正确的,但它的教育用途是有限的,没有一个字的解释。感谢你的建议,我是这个社区的新成员,这个页面问题本身清楚地解释了我们正在讨论的内容,这个脚本限制了实数大小及其十进制值,它限制用户只允许在实际值后保留两位小数。
$("#amount").on("keyup", function(){
    var valid = /^\d{0,2}(\.\d{0,2})?$/.test(this.value),
        val = this.value;

    if(!valid){
        console.log("Invalid input!");
        this.value = val.substring(0, val.length - 1);
    }
});