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图片滚动图片的效果(另类实现)
Jun 02 Javascript
jQuery提交多个表单的小例子
Jun 30 Javascript
js利用数组length属性清空和截短数组的小例子
Jan 15 Javascript
js加减乘除丢失精度问题解决方法
May 16 Javascript
jQuery中:eq()选择器用法实例
Dec 29 Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
Jun 08 Javascript
javascript实现简单的全选和反选功能
Jan 05 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
Dec 30 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
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
Position属性之relative用法
2015/12/14 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
对python中的logger模块全面讲解
2018/04/28 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
小学少先队活动方案
2014/02/18 职场文书
初中学生期末评语
2014/04/24 职场文书
教师读书活动总结
2014/05/07 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
承诺书格式
2014/06/03 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
2014年管理工作总结
2014/11/22 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
python井字棋游戏实现人机对战
2022/04/28 Python