设置页面文本框 只能输入数字的js方法
时间:2011-04-19 来源:The only
之前写过的方法有缺陷,可以输入空格。现在将空格也屏蔽了。就是在之前的代码里加入了过滤空格的功能。
代码如下:
01.$("#money").bind("propertychange",function() {
02.
03. if(""!=this.value){
04.
05. var str = this.value.replace(/(^\s*)|(\s*$)/g, "");
06. if(this.value != str )
07. this.value = str;
08. }
09.
10. if( isNaN(Number(this.value)))
11. this.value = this.value.replace(/[\D]/,'');
12. });
$("#money").bind("propertychange",function() {
if(""!=this.value){
var str = this.value.replace(/(^\s*)|(\s*$)/g, "");
if(this.value != str )
this.value = str;
}
if( isNaN(Number(this.value)))
this.value = this.value.replace(/[\D]/,'');
});
这里使用了JQuery绑定到id为money的文本框的onpropertychange事件上。
下面的代码连小数点也屏蔽掉了
view plaincopy to clipboardprint?
01.$("#phone").bind("propertychange", function() {
02.
03. if(""!=this.value){
04.
05. var str = this.value.replace(/(^\s*)|(\s*$)/g, "");
06. if(this.value != str )
07. this.value = str;
08. }
09.
10. if (this.value.indexOf('.') != -1) {
11. this.value = this.value.replace(/[\.]/, '');
12. this.focus(); }
13.
14. if (isNaN(Number(this.value))) {
15. this.value = ($.trim(this.value)).replace(/[\D]/, '');
16. this.focus(); } });
$("#phone").bind("propertychange", function() {
if(""!=this.value){
var str = this.value.replace(/(^\s*)|(\s*$)/g, "");
if(this.value != str )
this.value = str;
}
if (this.value.indexOf('.') != -1) {
this.value = this.value.replace(/[\.]/, '');
this.focus(); }
if (isNaN(Number(this.value))) {
this.value = ($.trim(this.value)).replace(/[\D]/, '');
this.focus(); } });
最后,最好将输入法屏蔽掉。 通过css,ime-mode:disabled就可以实现。
如果很严格的话,可以再追加上禁止粘贴与拖拽。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lingxyd_0/archive/2010/09/17/5891354.aspx