jquery 输入框数字限制插件


Posted in Javascript onNovember 10, 2009

直接看代码:

(function($){ 
var keyCode={ 
BACKSPACE: 8, 
CAPS_LOCK: 20, 
COMMA: 188, 
CONTROL: 17, 
DELETE: 46, 
DOWN: 40, 
END: 35, 
ENTER: 13, 
ESCAPE: 27, 
HOME: 36, 
INSERT: 45, 
LEFT: 37, 
// NUMPAD_ADD: 107, 
// NUMPAD_DECIMAL: 110, 
// NUMPAD_DIVIDE: 111, 
// NUMPAD_ENTER: 108, 
// NUMPAD_MULTIPLY: 106, 
// NUMPAD_SUBTRACT: 109, 
PAGE_DOWN: 34, 
PAGE_UP: 33, 
PERIOD: 190, 
RIGHT: 39, 
SHIFT: 16, 
SPACE: 32, 
TAB: 9, 
UP: 38 
} 
var isControlCode=function(key){ 
for(name in keyCode){ 
if(keyCode[name]==key) 
return true; 
} 
return false; 
} 
var number=function(event){ 
var t=this; 
if(event.shiftKey) 
return false; 
var key=event.keyCode; 
if(isControlCode(key)) 
return; 
if(key<48 || key>105) 
return false; 
if(key>57 && key<96) 
return false; 
} 
var ControlList={}; 
var control=Class.extend({ 
init:function(obj){ 
this.Event=[]; 
this.target=$(obj); 
}, 
Add:function(settings){ 
var t=this; 
t.Event.push(settings); 
return t; 
}, 
Bind:function(){ 
var t=this; 
if(!t.target){ 
return; 
} 
t.target.each(function(){ 
var b=$(this); 
b.bind("keydown",t.event.bind(t)).bind("keyup",t.event.bind(t)); 
if(jQuery.browser.msie) 
{ 
b.bind("paste",t.event.bind(t)); 
} 
else{ 
b.bind("input",t.event.bind(t)); 
} 
}); 
}, 
getmethods:function(type){ 
var t=this; 
var list=[]; 
$(t.Event).each(function(i,item){ 
if(!item.type || !item.method) 
return; 
if(item.type=="all"){ 
list.push(item.method); 
}else 
{ 
if(item.type==type){ 
list.push(item.method); 
} 
} 
}); 
return list; 
}, 
IsSuccess:function(list,event,obj){ 
var istrue=true; 
for(var i=0;i<list.length;i++){ 
if(list[i].call(obj,event)===false) 
{ 
istrue=false; 
break; 
} 
} 
return istrue; 
}, 
event:function(ev){ 
var t=this; 
var event=ev.originalEvent; 
var obj=ev.target; 
return t.IsSuccess(t.getmethods(ev.type),event,obj); 
} 
}); 
control.Add=function(obj,settings){ 
var con= ControlList[this.selector]; 
if(!con) 
{ 
con=new control(obj); 
ControlList[this.selector]=con; 
con.Bind(); 
} 
con.Add(settings); 
return control; 
} 
$.fn.numberable=function(){ 
$(this).css("imeMode","disabled"); 
control.Add(this,{type:"keydown",method:number}).Add(this,{type:"keyup",method:number}); 
function repnumber(event){ 
var o= $(this); 
if(o.val()){ 
o.val(o.val().replace(/[^\d]/g,"")); 
} 
} 
if(jQuery.browser.msie){ 
control.Add(this,{type:"paste",method:function(event){var o=this; 
setTimeout(repnumber.bind(o,event),0); 
} 
}); 
} 
else 
{ 
control.Add(this,{type:"input",method:repnumber}); 
} 
return this; 
} 
})(jQuery);

用法:
$(".class").numberable();

这只是限制了数字,还可以扩展其他的功能,
Javascript 相关文章推荐
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 Javascript
基于JQuery框架的AJAX实例代码
Nov 03 Javascript
jQuery 在光标定位的地方插入文字的插件
May 10 Javascript
input禁止键盘及中文输入,但可以点击
Feb 13 Javascript
jQuery取得设置清空select选择的文本与值
Jul 08 Javascript
JS实现的左侧竖向滑动菜单效果代码
Oct 19 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 Javascript
简单三步实现报表页面集成天气
Dec 15 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
基于Vue.js 2.0实现百度搜索框效果
Dec 28 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
jQuery列表动态增加和删除的实现方法
Nov 05 jQuery
通过隐藏option实现select的联动效果
Nov 10 #Javascript
Riot.js 快速的JavaScript单元测试框架
Nov 09 #Javascript
asp.net HttpHandler实现图片防盗链
Nov 09 #Javascript
为javascript添加String.Format方法
Aug 11 #Javascript
prototype 中文参数乱码解决方案
Nov 09 #Javascript
jQuery 常见学习网站与参考书
Nov 09 #Javascript
Javascript select下拉框操作常用方法
Nov 09 #Javascript
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
smarty简单应用实例
2015/11/03 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
python装饰器decorator介绍
2014/11/21 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
python如何爬取个性签名
2018/06/19 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
大学生就业策划书范文
2014/04/04 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
纪检监察建议书
2014/05/19 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
用python自动生成日历
2021/04/24 Python
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python