1. 程式人生 > >Jquery控制只能輸入數字的常見方法

Jquery控制只能輸入數字的常見方法

只能輸入數字,不包括小數點。

<input type="text" id="bankAccount" name="bankAccount" maxlength="64"  onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"/>

<input type="text" id="bankAccount" name="bankAccount" maxlength="64" class="sui-input reset-mid-inp" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"/>

  1. $("input[name='currentpage']").keyup(function(){     
    	        var tmptxt=$(this).val();     
    	        $(this).val(tmptxt.replace(/\D|^0/g,''));     
    	    }).bind("paste",function(){     
    	        var tmptxt=$(this).val();     
    	        $(this).val(tmptxt.replace(/\D|^0/g,''));     
    	    }).css("ime-mode", "disabled"); 


============================================================================

  1. $("input[name='searchBean.con1']").keyup(function(){  //keyup事件處理

  2.         $(this).val($(this).val().replace(/\D|^0/g,''));  

  3.     }).bind("paste",function(){  //CTR+V事件處理

  4.         $(this).val($(this).val().replace(/\D|^0/g,''));  

  5.     }).css("ime-mode""disabled");  //CSS設定輸入法不可用

顯示效果:
1023456789  
下面的程式碼匹配的是0-9和. 

$("#rnumber").keyup(function(){  

            $(this).val($(this).val().replace(/[^0-9.]/g,''));  

        }).bind("paste",function(){  //CTR+V事件處理  

            $(this).val($(this).val().replace(/[^0-9.]/g,''));   

        }).css("ime-mode""disabled"); //CSS設定輸入法不可用  

顯示效果:  0.123456789 注意兩個的正則表示式不同,匹配不一樣。 第一個,只能輸入>0的正整數。 第二個,只能輸入0-9的數字和小數點。 Js程式碼 複製程式碼 收藏程式碼
  1. //監聽鍵盤,只允許輸入數字和小數點
  2. // 注意此處不要用keypress方法,採用keyDown,否則不能禁用Ctrl+V,
  3. 具體原因請自行查詢keyPress與keyDown區分,十分重要,請細查
  4. //採用keydown例子:$(".checkNum").keydown(function(event)){}
  5.         $(".checkNum").keypress(function(event) { 
  6.             var keyCode = event.which; 
  7.             if (keyCode == 46 || (keyCode >= 48 && keyCode <=57)) 
  8.                 returntrue
  9.             else
  10.                 returnfalse
  11.         }).focus(function() { 
  12.             this.style.imeMode='disabled'
  13.         }); 
  1. //監聽鍵盤,只允許輸入數字和小數點
  2. // 注意此處儘量不要用keypress方法,採用keyDown否則不能禁用Ctrl+V ,
  3. //具體原因請自行查詢keyPress與keyDown區分,十分重要,請細查
  4.         $(".checkNum").keypress(function(event) {  
  5.             var keyCode = event.which;  
  6.             if (keyCode == 46 || (keyCode >= 48 && keyCode <=57))  
  7.                 returntrue;  
  8.             else
  9.                 returnfalse;  
  10.         }).focus(function() {  
  11.             this.style.imeMode='disabled';  
  12.         });  

imeMode有四種形式,分別是:

active 代表輸入法為中文
inactive 代表輸入法為英文
auto 代表開啟輸入法 (預設)
disable 代表關閉輸入法