js与jquery控制文本框只能输入数字

发布时间:2020-02-10编辑:脚本学堂
如何控制文本框只能输入数字,js与jquery限制文本框仅允许输入数字的方法与例子,控制文本框只能输入数字,比如电话号码、数量的输入等,这时需要控制文本框只能输入数字。

如何控制文本框只能输入数字?

方法一、四事件组合完合实现文本框只能输入数字

复制代码 代码示例:
<input type="text"
onkeypress = 'return /^d$/.test(String.fromCharCode(event.keyCode))'
oninput= 'this.value = this.value.replace(/D+/g, "")'
onpropertychange='if(!/D+/.test(this.value)){return;};this.value=this.value.replace(/D+/g, "")'
onblur = 'this.value = this.value.replace(/D+/g, "")'/>

方法二、jquery法实现文本框只能输入数字

控制文本框只能输入数字,比如电话号码的输入、数量的输入等,这时需要控制文本框只能输入数字。

在用js控制之后在英文输入法的状态下去敲击键盘上的非数字键是输不进去的,然而当你转到中文输入法的时候输入的是中文,再按空格或回车键,中文或英文字母就输进去了,这时需要在文本框得到焦点的时候把输入法关闭,就是不响应输入法的切换。

例子,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 代表关闭输入法