jQuery技术:在IE中使用大写字符限制输入到指定的正则表达式

我正在尝试使用javascript / jquery来限制用户输入输入的内容。

问题是,我必须将此限制为仅大写字符和数字。

这是我之前编码的内容:

$(input).keypress(function(e){ if ($(input).attr("class")=="populationReference"){ var ValidPattern = /^[A-Z_0-9]*$/; var char = String.fromCharCode(e.charCode); if (!ValidPattern.test(char) && e.charCode!=0){ return false; e.preventDefault(); } } }); 

如果Firefox支持charCode,IE则不支持。 那么,我可以测试用户是否输入大写或小写字符? 谢谢你的帮助 !

    来自keypress()的jquery手册:

    要确定输入了哪个字符,我们可以检查传递给处理函数的事件对象。 虽然浏览器使用不同的属性来存储此信息,但jQuery会规范化.which属性,以便我们可以可靠地使用它来检索字符代码。

    换句话说,如果你使用jquery,你可以安全地使用e.which来返回字符代码,所以在你的情况下:

     var char = String.fromCharCode(e.which); 

    是要做出的改变。

    但就个人而言,我会避免通过为用户转换来惩罚用户的小写输入。 也许添加这个修改:

     $("input.populationReference").keypress(function(e){ var ValidPattern = /^[A-Z_a-z_0-9]*$/; var char = String.fromCharCode(e.charCode); if (!ValidPattern.test(char) && e.charCode!=0){ return false; e.preventDefault(); } else { var inputval = $(this).value(); $(this).value(inputval.toUpperCase()); } }); 

    请改用keypress()事件。 在IE中,所有keydownkeyup指定按下了哪个键盘键代码 – 它不会考虑控制键并相应地修改键码。 keypress事件指定键入的字符代码。 请注意,它不适用于某些系统键:

    从Microsoft Internet Explorer 4.0开始,onkeypress事件将触发并可以取消以下键:

    自编辑以来 – 您需要使用e.which而不是e.charCode

    使用e.which而不是e.charCode

      以上就是jQuery教程分享在IE中使用大写字符限制输入到指定的正则表达式相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/561639.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐