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 相关文章推荐
jquery 学习之二 属性 文本与值(text,val)
Nov 25 Javascript
jquery中:input和input的区别分析
Jul 13 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 Javascript
在jquery中combobox多选的不兼容问题总结
Dec 24 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
Nov 28 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
如何利用JSHint减少JavaScript的错误
Aug 23 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
Vue.js系列之项目结构说明(2)
Jan 03 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
Koa从零搭建到Api实现项目的搭建方法
Jul 30 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 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
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
如何理解python中数字列表
2020/05/29 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
后勤园长自我鉴定
2013/10/17 职场文书
学习心得体会
2014/01/01 职场文书
医学生个人求职信范文
2014/02/07 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
小学运动会宣传稿
2015/07/23 职场文书
python 离散点图画法的实现
2022/04/01 Python
Nginx如何配置根据路径转发详解
2022/07/23 Servers