输入框过滤非数字的js代码


Posted in Javascript onSeptember 18, 2014

HTML:

<input type="text" id="only"/>

JS:

window.onload=function(e){
var text=document.getElementById("only"),pattern=/\d/,//pattern匹配字母上的数字键
pattern2=/(9[6-9])|(10[0-5])|3(7|9)/,//pattern2匹配小键盘上的数字键和左右方向键
EventHandle={},event=e||window.event;//一个处理事件的对象



//当网页加载的时候,进行判断,对事件处理对象进行定义属性,这样对事件对象的方法只需要进行一次判断,以后的其他事件



//处理程序里面不需要判断
if(event.preventDefault){
EventHandle.preventDefault=function(e){
e.preventDefault();
};
}else{
EventHandle.preventDefault=function(e){
e.returnValue=false;
}
}
text.onkeydown=function(e){
var event=e||window.event;//不同事件的事件对象不一样,这个event和最前面的event不相等
if(!pattern.test(String.fromCharCode(event.keyCode))&&event.keyCode!=8//keyCode=8是退格键,因为可以对输入的数字进行修改,所以退格和左右方向键不禁止
&&!pattern2.test(event.keyCode.toString())||event.shiftKey||
event.ctrlKey||event.metaKey){
EventHandle.preventDefault(event);//如果不用对象的这个方法,写成下面这样,也可以执行,不过每次按下键盘的时候都会进行一次判断















 //这个是没有必要的,所以在页面加载的时候对事件处理对象定义一个方法,加载后对象的方法就已经是确定的了,以后时候就可以了

















//if(event.preventDefault){
















//event.preventDefault();
















//}else{
















//event.returnValue=false;
















//}
}
}
}

未注释版本:

window.onload=function(e){
var text=document.getElementById("only"),pattern=/\d/,
pattern2=/(9[6-9])|(10[0-5])|3(7|9)/,
EventHandle={},event=e||window.event;
if(event.preventDefault){
EventHandle.preventDefault=function(e){
e.preventDefault();
};
}else{
EventHandle.preventDefault=function(e){
e.returnValue=false;
}
}
text.onkeydown=function(e){
var event=e||window.event;
if(!pattern.test(String.fromCharCode(event.keyCode))&&event.keyCode!=8
&&!pattern2.test(event.keyCode.toString())||event.shiftKey||
event.ctrlKey||event.metaKey){
EventHandle.preventDefault(event);
}
}
}

在IE11里面,F12打开开发者工具里面可以选择IE版本进行调试

输入框过滤非数字的js代码

Javascript 相关文章推荐
javascript与CSS复习(《精通javascript》)
Jun 29 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
浅析jquery的作用与优势
Dec 02 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
Oct 25 Javascript
JS控制HTML元素的显示和隐藏的两种方法
Sep 27 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 Javascript
Angular resolve基础用法详解
Oct 03 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
May 01 Javascript
layui的layedit富文本赋值方法
Sep 18 Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 #Javascript
JavaScript将取代AppleScript?
Sep 18 #Javascript
Javascript MVC框架Backbone.js详解
Sep 18 #Javascript
JS回调函数的应用简单实例
Sep 17 #Javascript
js实现在同一窗口浏览图片
Sep 17 #Javascript
js实现获取焦点后光标在字符串后
Sep 17 #Javascript
在JavaScript中构建ArrayList示例代码
Sep 17 #Javascript
You might like
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
浅析python中的del用法
2020/09/02 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
理工科学生的自我评价
2013/12/15 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
消防安全员岗位职责
2014/03/10 职场文书
企业安全生产标语
2014/06/06 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
2015年班干部工作总结
2015/04/29 职场文书
《司马光》教学反思
2016/02/22 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python