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 27 Javascript
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
Jan 31 Javascript
JS中判断JSON数据是否存在某字段的方法
Mar 07 Javascript
javascript基本类型详解
Nov 28 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
Mar 31 Javascript
JavaScript 是什么意思
Sep 22 Javascript
Angular2监听页面大小变化的解决方法
Oct 09 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
May 17 Javascript
jQuery实现简易QQ聊天框
Feb 10 jQuery
JS绘图Flot应用图形绘制异常解决方案
Oct 16 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+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
python删除不需要的python文件方法
2018/04/24 Python
Python中GIL的使用详解
2018/10/03 Python
python set集合使用方法解析
2019/11/05 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
Python3的socket使用方法详解
2020/02/18 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
2014年民政工作总结
2014/11/26 职场文书
无婚姻登记记录证明
2015/06/18 职场文书