jQuery控制文本框只能输入数字和字母及使用方法

 更新时间:2016年05月26日 12:05:00   作者:孤傲苍狼  
这篇文章主要介绍了jQuery控制文本框只能输入数字和字母及使用方法的相关资料,非常不错而且实用性也很高,需要的朋友可以参考下

在公司开发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控制文本框只能输入数字和字母及使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • jquery picswitch图片焦点图展示效果

    jquery picswitch图片焦点图展示效果

    jquery pictureswitch制作图片展示效果实现代码,对于想用jquery实现焦点图效果的朋友可以参考下。
    2010-05-05
  • jQuery事件对象总结

    jQuery事件对象总结

    事件是脚本编程的灵魂,本篇来介绍jQuery中的事件处理及事件对象.这里整理了详细的代码,有需要的小伙伴可以参考下。
    2016-10-10
  • JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法

    JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法

    这篇文章主要介绍了JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法,需要的朋友可以参考下
    2017-01-01
  • jQuery中dequeue()方法用法实例

    jQuery中dequeue()方法用法实例

    这篇文章主要介绍了jQuery中dequeue()方法用法,实例分析了dequeue()方法的功能、定义、使用技巧与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • jqPlot 基于jquery的画图插件

    jqPlot 基于jquery的画图插件

    jqPlot是一款基于jquery类库的图标绘制插件。通过jqPlot可以再网页中绘制线状、柱状、饼状等多种样式图表。而且,jqPlot具有插件可扩展性(Pluggability),你可以编写自己的图表样式。
    2011-04-04
  • JQuery实现定时刷新功能代码

    JQuery实现定时刷新功能代码

    在网页开发中,经常会需要不断的刷新某个页面或某个局部数据。这时候就需要用到定时刷新来实现了。接下来通过本文给大家分享jquery实现定时刷新功能,需要的朋友参考下吧
    2017-05-05
  • jQuery中的事件详解

    jQuery中的事件详解

    本文详细讲解了jQuery中的事件,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 将鼠标焦点定位到文本框最后(代码分享)

    将鼠标焦点定位到文本框最后(代码分享)

    本文主要分享了将鼠标焦点定位到文本框最后的实例代码。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • jquery实现左右无缝轮播图

    jquery实现左右无缝轮播图

    这篇文章主要为大家详细介绍了基于jquery实现左右无缝轮播图的具体代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • JQuery+Ajax实现数据查询、排序和分页功能

    JQuery+Ajax实现数据查询、排序和分页功能

    这篇文章介绍了利用JQuery方便实现基于Ajax的数据查询、排序和分页功能,需要的朋友可以参考下
    2015-09-09

最新评论