首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否允许文本框仅用于使用jQuery的字母?

是否允许文本框仅用于使用jQuery的字母?
EN

Stack Overflow用户
提问于 2010-06-05 18:52:34
回答 11查看 100.9K关注 0票数 21

我想让一个文本框只允许使用jQuery的字母(a-z)。有什么例子吗?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-06-05 18:56:01

代码语言:javascript
复制
<input name="lorem" onkeyup="this.value=this.value.replace(/[^a-z]/g,'');">

对于喜欢粘贴而不是打字的邪恶用户,可以与onblur相同;)

+漂亮的jQuery代码:

代码语言:javascript
复制
<input name="lorem" class="alphaonly">
<script type="text/javascript">
$('.alphaonly').bind('keyup blur',function(){ 
    var node = $(this);
    node.val(node.val().replace(/[^a-z]/g,'') ); }
);
</script>
票数 50
EN

Stack Overflow用户

发布于 2010-06-05 19:04:40

如果键代码不在'a'..'z‘范围内,则只允许使用小写字母,请在事件对象上调用preventDefault。如果应允许大写,请在65..90或'A'..'Z‘之间检查。

或者,使用市面上众多input mask plugins中的一种。

参见example

代码语言:javascript
复制
​$(<selector>).keypress(function(e) {
    if(e.which < 97 /* a */ || e.which > 122 /* z */) {
        e.preventDefault();
    }
});​​​​​
票数 7
EN

Stack Overflow用户

发布于 2015-11-04 15:18:05

下面演示了使用Jquery只允许字母a-z:

代码语言:javascript
复制
  $(function() {
    $('#txtFirstName').keydown(function(e) {
      if (e.shiftKey || e.ctrlKey || e.altKey) {
        e.preventDefault();
      } else {
        var key = e.keyCode;
        if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
          e.preventDefault();
        }
      }
    });
  });
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<input id="txtFirstName" value="">

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2980038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档