捕获一封信并转换为jQuery

时间:2014-08-15 19:36:17

标签: jquery

我试图允许用户通过分类为.noNumbers的输入字段执行以下两项操作之一:

  1. 按住班次和字母
  2. 只是按一个字母
  3. 到目前为止,我的代码只允许按一个字母,但如果保持转换,字母将不会通过。我不确定为什么会这样。

    到目前为止,这是我的代码:

    $(".noNumbers").keypress(function(e){
        if(e.which < 97 || e.which > 122) 
        {
            e.preventDefault();
        }
    
        var amount = $(this).val().length;
        var limit = 2;
    
        if(amount > limit)
        {
            e.preventDefault(); 
        }
    });
    

1 个答案:

答案 0 :(得分:0)

97122是小写字母az的ASCII值。如果你想要大写字母,它们将是ASCII值6590

var isLetter = false;

if( (e.which >= 97 && e.which <= 122) || (e.which >= 65 && e.which <= 90) ) 
{
    isLetter = true;
}

if(!isLetter) {
    e.preventDefault();
}

但是,您可能还想允许 Backspace 删除,否则您的用户将会遇到无法删除的三个字符。您还应该考虑如何处理将值粘贴到字段中。