标签:
控制文本框只能输入数字是一个很常见的需求,比如电话号码的输入、数量的输入等,这时候就需要我们控制文本框只能输入数字。在用js控制之后在英文输入法的状态下去敲击键盘上的非数字键是输不进去的,然而当你转到中文输入法的时候输入的是中文,再按空格或回车键,中文或英文字母就输进去了,这时候就需要我们在文本框得到焦点的时候把输入法关闭,就是不响应输入法的切换。如下语句可以实现这样的功能。
通过keyCode来处理
下面的语句是用jquery写的,控制class为checkNum的文本框只能输入数字和小数点。
//监听键盘,只允许输入数字和小数点
$(".checkNum").keypress(function(event) { var keyCode = event.which; if (keyCode == 46 || (keyCode >= 48 && keyCode <=57)) return true; else return false; }).focus(function() { this.style.imeMode=‘disabled‘; });
imeMode有四种形式,分别是:
active 代表输入法为中文
inactive 代表输入法为英文
auto 代表打开输入法 (默认)
disable 代表关闭输入法
通过正则表达式来处理
$(".checkNum").keyup(function(){ //用keyup,表现形式更好 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");
标签:
原文地址:http://www.cnblogs.com/hf8051/p/4532673.html