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 相关文章推荐
Open and Print a Word Document
Jun 15 Javascript
JS性能优化笔记搜索整理
Aug 21 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 Javascript
javascript下拉列表中显示树形菜单的实现方法
Nov 17 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
JS加密插件CryptoJS实现的Base64加密示例
Aug 16 Javascript
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
详解ES7 Decorator 入门解析
Feb 18 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 Javascript
Vue 的 v-model用法实例
Nov 23 Vue.js
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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
php实现简易计算器
2020/08/28 PHP
jquery异步调用页面后台方法&amp;#8207;(asp.net)
2011/03/01 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
python使用pil生成图片验证码的方法
2015/05/08 Python
Python3 replace()函数使用方法
2018/03/19 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
使用Python处理BAM的方法
2018/09/28 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
Linux Interview Questions For software testers
2012/06/02 面试题
超市5.1促销活动
2014/01/15 职场文书
给儿子的表扬信
2014/01/15 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
另类冲刺标语
2014/06/24 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
MySQL多表查询机制
2022/03/17 MySQL
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫