jQuery控制文本框只能输入数字[兼容IE、火狐等浏览器]
$.fn.numeral=function(bl){//限制金额输入、兼容浏览器、屏蔽粘贴拖拽等 $(this).keypress(function(e){ var keyCode=e.keyCode?e.keyCode:e.which; if(bl){//浮点数 if((this.value.length==0 || this.value.indexOf(".")!=-1) && keyCode==46) return false; return keyCode>=48&&keyCode<=57||keyCode==46||keyCode==8; }else{//整数 return keyCode>=48&&keyCode<=57||keyCode==8; } }); $(this).bind("copy cut paste", function (e) { // 通过空格连续添加复制、剪切、粘贴事件 if (window.clipboardData)//clipboardData.setData('text', clipboardData.getData('text').replace(/\D/g, '')); return !clipboardData.getData('text').match(/\D/); else event.preventDefault(); }); $(this).bind("dragenter",function(){return false;}); $(this).css("ime-mode","disabled"); $(this).bind("focus", function() { if (this.value.lastIndexOf(".") == (this.value.length - 1)) { this.value = this.value.substr(0, this.value.length - 1); } else if (isNaN(this.value)) { this.value = ""; } }); }
使用方法:
$("#num").numeral(false);//限制只能输入整数 $("#price").numeral(true);//限制只能输入浮点数