jQuery控制文本框只能输入数字和字母及使用方法
来源: 阅读:757 次 日期:2016-06-22 16:04:13
温馨提示: 小编为您整理了“jQuery控制文本框只能输入数字和字母及使用方法”,方便广大网友查阅!

这篇文章主要介绍了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控制文本框只能输入数字和字母及使用方法,希望对大家有所帮助

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map