2014-10-20 28 views

回答

0

我得到了答案。

<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> 
0

試試這個,

$('.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(); 
} 
}); 
-1

http://jsfiddle.net/hibbard_eu/vY39r/

$("#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); 
    } 
}); 
+1

請您詳細說明*如何*和*爲什麼*這解決了OP的答案?雖然代碼在技術上可能是正確的,但教育用途卻很有限,沒有任何解釋。 – 2017-10-09 12:40:08

+0

感謝您的建議,我是這個社區的新手,這個頁面問題本身清楚地解釋了我們正在討論的內容,這個腳本限制了實際的數字大小和十進制值,它限制了用戶在真實之後只允許兩個小數位值。 – Gopi 2017-10-31 06:41:33

相關問題