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的键盘控制事件说明
Apr 15 Javascript
jQuery对象和DOM对象相互转化
Apr 24 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
简单学习vue指令directive
Nov 03 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
vue组件父子间通信详解(三)
Nov 07 Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 Javascript
浅谈VUE单页应用首屏加载速度优化方案
Aug 28 Javascript
json_decode 索引为数字时自动排序问题解决方法
Mar 28 Javascript
Vue 同步异步存值取值实现案例
Aug 05 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
Protoss魔法科技
2020/03/14 星际争霸
PHP+javascript模拟Matrix画面
2006/10/09 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php写的AES加密解密类分享
2014/06/20 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
python多线程同步实例教程
2019/08/11 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
师范生教师实习自我鉴定
2013/09/27 职场文书
寒假实习自荐信
2014/01/26 职场文书
室内拓展活动方案
2014/02/13 职场文书
奉献演讲稿范文
2014/05/21 职场文书
公司应聘自荐书
2014/06/14 职场文书
2015大学生求职信范文
2015/03/20 职场文书
党支部审查意见
2015/06/02 职场文书
2016党校培训心得体会
2016/01/07 职场文书
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android