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 相关文章推荐
Z-Blog中用到的js代码
Mar 15 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
Nov 25 Javascript
JS实现网页滚动条感应鼠标变色的方法
Feb 26 Javascript
使用console进行性能测试
Apr 27 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
Jan 26 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
文件上传的几个示例分享【推荐】
Dec 16 Javascript
如何提高javascript加载速度
Dec 26 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
Nov 08 Javascript
vue中 v-for循环的用法详解
Feb 19 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
Sep 16 Javascript
通过隐藏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按指定键值对二维数组进行排序的方法
2015/12/22 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
js实现京东秒杀倒计时功能
2019/01/21 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
利用Hyperic调用Python实现进程守护
2018/01/02 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
postman和python mock测试过程图解
2020/02/22 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
军训心得体会
2013/12/31 职场文书
大学信息公开实施方案
2014/03/09 职场文书
公司授权委托书
2014/04/04 职场文书
产品质量保证书
2014/04/29 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
雷锋观后感
2015/06/10 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python