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 相关文章推荐
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
Jul 31 Javascript
js控制div弹出层实现方法
May 11 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
Aug 28 Javascript
多种js图片预加载实现方式分享
Feb 19 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
May 09 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
Nov 18 Javascript
详解在Vue中通过自定义指令获取dom元素
Mar 04 Javascript
Angular使用$http.jsonp发送跨站请求的方法
Mar 16 Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
AngularJs用户输入动态模板XSS攻击示例详解
Apr 21 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
Python遍历指定文件及文件夹的方法
2015/05/09 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
Python 复平面绘图实例
2019/11/21 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
戴森英国官网:Dyson英国
2019/05/07 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
餐厅考勤管理制度
2014/01/28 职场文书
初中生操行评语大全
2014/04/24 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
全陪导游词开场白
2015/05/29 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
APP界面设计技巧和注意事项
2022/04/29 杂记