当前位置:软件学堂 > 资讯首页 > 网络编程 > 编程其他 > 文本框只能输入数字网页代码(兼容Firefox、IE、Chrome浏览器)

文本框只能输入数字网页代码(兼容Firefox、IE、Chrome浏览器)

2014/11/27 14:53:03作者:佚名来源:网络

移动端

有小伙伴提到在网页中如何实现文本框只能输入数字,而且需要兼容多种浏览器,至少兼容Firefox、IE、Chrome,本小编通过向高手请教提供以下二种方法可以实现。
方法一、四事件组合完合可以实现文本框只能输入数字
<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的文本框只能输入数字和小数点。
Js代码  收藏代码
//监听键盘,只允许输入数字和小数点  
            $(".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 代表关闭输入法
以上二种方法都可以实现文本框只能输入数字,但第一种是最简单最有效的方法,希望对你有所帮助。

标签: 文本框  输入