Jquery控制文本框只能输入数字或字母
2016-01-13 16:14
671 查看
针对"只能输入数字"、"只能输入字母"和"只能输入数字和字母"的三种输入限制,封装成onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展方法,方便复用,由于里面一些JS代码涉及到了"禁用输入法,获取剪切板的内容",而"禁用输入法,获取剪切板的内容"只能在IE浏览器下才有效,对于别的浏览器是无效的,因此这三个方法只适合在IE浏览器下使用才有效,三个方法的代码如下
一、限制只能输入数字
二、限制只能输入字母
三、 限制只能输入数字和字母
使用方法:首先在画面加载完成之后编写如下的JS脚本
$(function () {
// 限制使用了onlyNum类样式的控件只能输入数字
$(".onlyNum").onlyNum();
//限制使用了onlyAlpha类样式的控件只能输入字母
$(".onlyAlpha").onlyAlpha();
// 限制使用了onlyNumAlpha类样式的控件只能输入数字和字母
$(".onlyNumAlpha").onlyNumAlpha();
});
对需要做输入控制的控件设置class样式
这样凡是设置了class="onlyNum"的控件就只能输入数字,设置了class="onlyAlpha"的控件只能输入字母,设置了class="onlyNumAlpha"的控件只能输入数字和字母,通过这种方式就可以限制了用户的输入范围,避免用户进行一些非法的输入。这种限制控件输入的方式是比较好的一种方式,可以避免用户犯错,平时传统的做法都是用户输入了非法字符后,我们再弹出一个消息框告诉用户输入了非法字符,这种方式就是"用户已经做了,我们才告诉用户不能这么做",而上面的那种方式是却能让用户只能输入我们指定范围内的字符,让"用户永远没有机会去犯错"。
转载自:http://www.cnblogs.com/xdp-gacl/p/3467245.html
一、限制只能输入数字
// ---------------------------------------------------------------------- // <summary> // 限制只能输入数字 // </summary> // ---------------------------------------------------------------------- $.fn.onlyNum = function () { $(this).keypress(function (event) { var eventObj = event || e; var keyCode = eventObj.keyCode || eventObj.which; if ((keyCode >= 48 && keyCode <= 57)) 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 >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122)) 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 >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122)) 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"的控件只能输入数字和字母,通过这种方式就可以限制了用户的输入范围,避免用户进行一些非法的输入。这种限制控件输入的方式是比较好的一种方式,可以避免用户犯错,平时传统的做法都是用户输入了非法字符后,我们再弹出一个消息框告诉用户输入了非法字符,这种方式就是"用户已经做了,我们才告诉用户不能这么做",而上面的那种方式是却能让用户只能输入我们指定范围内的字符,让"用户永远没有机会去犯错"。
转载自:http://www.cnblogs.com/xdp-gacl/p/3467245.html
相关文章推荐
- JQuery之Ajax请求
- jquery判断checkbox最多选几个
- JQuery实现点击div里面的a的能触发点击时间,但是不触发外面的div的点击事件
- jquery.cookie中的操作
- jquery:选择器 过滤器
- JSON+Jquery省市区三级联动
- jquery操作radio,checkbox
- jQuery计算时间差和阴阳历转换
- jquery验证(产品三期-院历增加)
- jQuery遍历函数
- JQuery中$.ajax()方法参数详解
- jQuery选择器
- jQuery ajax 实现分页 kkpager插件
- jQuery-单击文字或图片内容放大显示效果插件
- JQuery阻止事件冒泡
- jQuery中的.bind()、.live()和.delegate()之间区别分析
- JQuery 判断滚动条是否到底部
- jQuery的deferred对象详解
- jQuery WeUI v0.1.0 发布了 - 微信公众账号开发者的福音
- jquery中$("#afui").get(0)为什么要加get(0)呢?