jQuery控制文本框只能输入数字和字母及使用方法


Posted in Javascript onMay 26, 2016

在公司开发WinForm项目时,发现公司自主研发的textbox控件非常强大,可以实现"只能输入数字"、"只能输入字母"和"只能输入数字和字母"的三种输入限制,这样就可以精确控制用户输入的内容范围,让"用户永远没有办法输入限定的内容范围之外的其他内容",也就是"用户即使想犯错误也没有机会",这种限制控件输入的方式给了我很大的启发,如果在web项目中也能做到这样的精确控制,那么就可以避免因为一些非法输入而造成系统出错,既然WinForm里面可以实现这样的控件,那么web项目里面也应该有办法去实现类似这样的控件或者能够做到类似的效果,经过自己的一番研究和查找资料,终于做到了类似的效果,针对"只能输入数字"、"只能输入字母"和"只能输入数字和字母"的三种输入限制,我封装成onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展方法,方便复用,由于里面一些JS代码涉及到了"禁用输入法,获取剪切板的内容",而"禁用输入法,获取剪切板的内容"只能在IE浏览器下才有效,对于别的浏览器是无效的,因此这三个方法只适合在IE浏览器下使用才有效,三个方法的代码如下

一、限制只能输入数字

// ----------------------------------------------------------------------
 // <summary>
 // 限制只能输入数字
 // </summary>
 // ----------------------------------------------------------------------
 $.fn.onlyNum = function () {
   $(this).keypress(function (event) {
     var eventObj = event || e;
     var keyCode = eventObj.keyCode || eventObj.which;
     if ((keyCode >= && keyCode <= ))
       return true;
     else
       return false;
   }).focus(function () {
   //禁用输入法
     this.style.imeMode = 'disabled';
   }).bind("paste", function () {
   //获取剪切板的内容
     var clipboard = window.clipboardData.getData("Text");
     if (/^\d+$/.test(clipboard))
       return true;
     else
       return false;
   });
 };

二、限制只能输入字母

// ----------------------------------------------------------------------
 // <summary>
 // 限制只能输入字母
 // </summary>
 // ----------------------------------------------------------------------
 $.fn.onlyAlpha = function () {
   $(this).keypress(function (event) {
     var eventObj = event || e;
     var keyCode = eventObj.keyCode || eventObj.which;
     if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))
       return true;
     else
       return false;
   }).focus(function () {
     this.style.imeMode = 'disabled';
   }).bind("paste", function () {
     var clipboard = window.clipboardData.getData("Text");
     if (/^[a-zA-Z]+$/.test(clipboard))
       return true;
     else
       return false;
   });
 };

 三、 限制只能输入数字和字母

// ----------------------------------------------------------------------
 // <summary>
 // 限制只能输入数字和字母
 // </summary>
 // ----------------------------------------------------------------------
 $.fn.onlyNumAlpha = function () {
   $(this).keypress(function (event) {
     var eventObj = event || e;
     var keyCode = eventObj.keyCode || eventObj.which;
     if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))
       return true;
     else
       return false;
   }).focus(function () {
     this.style.imeMode = 'disabled';
   }).bind("paste", function () {
     var clipboard = window.clipboardData.getData("Text");
     if (/^(\d|[a-zA-Z])+$/.test(clipboard))
       return true;
     else
       return false;
   });
 };

使用方法:首先在画面加载完成之后编写如下的JS脚本

$(function () {
   // 限制使用了onlyNum类样式的控件只能输入数字
   $(".onlyNum").onlyNum();
   //限制使用了onlyAlpha类样式的控件只能输入字母
   $(".onlyAlpha").onlyAlpha();
   // 限制使用了onlyNumAlpha类样式的控件只能输入数字和字母
   $(".onlyNumAlpha").onlyNumAlpha();
  });

对需要做输入控制的控件设置class样式

<ul>
     <li>只能输入数字:<input type="text" class="onlyNum" /></li>
     <li>只能输入字母:<input type="text" class="onlyAlpha" /></li>
     <li>只能输入数字和字母:<input type="text" class="onlyNumAlpha" /></li>
 </ul>

这样画面上凡是设置了class="onlyNum"的控件就只能输入数字,设置了class="onlyAlpha"的控件只能输入字母,设置了class="onlyNumAlpha"的控件只能输入数字和字母,通过这种方式就可以限制了用户的输入范围,避免用户进行一些非法的输入。

以上所述是小编给大家介绍的jQuery控制文本框只能输入数字和字母及使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 大数据相加的问题
Aug 03 Javascript
解决Jquery鼠标经过不停滑动的问题
Mar 03 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
Apr 08 Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 Javascript
vue实现可视化可拖放的自定义表单的示例代码
Mar 20 Javascript
简单了解vue中的v-if和v-show的区别
Oct 08 Javascript
vue 中几种传值方法(3种)
Nov 12 Javascript
微信小程序点击item使之滚动到屏幕中间位置
Mar 25 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 #Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 #Javascript
怎么引入(调用)一个JS文件
May 26 #Javascript
JS加载器如何动态加载外部js文件
May 26 #Javascript
jquery获取复选框的值的简单实例
May 26 #Javascript
改变checkbox默认选中状态及取值的实现代码
May 26 #Javascript
JavaScript数组实现数据结构中的队列与堆栈
May 26 #Javascript
You might like
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
javascript中new关键字详解
2015/12/14 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
Python Cookie 读取和保存方法
2018/12/28 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
python logging模块的使用
2020/09/07 Python
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
民生工作实施方案
2014/05/31 职场文书
个人年终总结范文
2015/03/09 职场文书
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技