JS函数允许只输入字母和空格

问题描述 投票:5回答:7

我需要一个jquery或js函数来只允许输入字母和空格。提前致谢。

页:

<p:inputText onkeypress="onlyLetter(this)">

功能:

function onlyLetter(input){
    $(input).keypress(function(ev) {
   var keyCode = window.event ? ev.keyCode : ev.which;
  //  code

    });
}
javascript jquery
7个回答
11
投票

只需使用要禁用或阻止工作的键/数字的ascii代码(十进制值)。 ASCII Table

HTML:

<input id="inputTextBox" type="text" />

jQuery:

$(document).ready(function(){
    $("#inputTextBox").keypress(function(event){
        var inputValue = event.which;
        // allow letters and whitespaces only.
        if(!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)) { 
            event.preventDefault(); 
        }
    });
});

jsFiddle Demo


8
投票

以下代码仅允许a-z,A-Z和空格。

HTML

<input id="inputTextBox" type="text" />

jQuery的

$(document).on('keypress', '#inputTextBox', function (event) {
    var regex = new RegExp("^[a-zA-Z ]+$");
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
        event.preventDefault();
        return false;
    }
});

6
投票

首先,我没有jQuery的经验,并将提供一个vanilla javascript示例。这里是:

document.getElementById('inputid').onkeypress=function(e){
    if(("abcdefghijklmnopqrstuvwxyz ").indexOf(String.fromCharCode(e.keyCode))===-1){
        e.preventDefault();
        return false;
    }
}

2
投票

调整Ashad Shanto回答了一下。请注意,如果使用脚本,则无法输入y和z。您必须将inputValue从120更改为123.以下是ASCII表引用:http://ee.hawaii.edu/~tep/EE160/Book/chap4/subsection2.1.1.1.html使用下面的脚本键入所有字母,空格和退格键。

<script>
    $(document).ready(function(){
        $("#inputTextBox").keypress(function(event){
            var inputValue = event.which;
            // allow letters and whitespaces only.
            if(!(inputValue >= 65 && inputValue <= 123) && (inputValue != 32 && inputValue != 0)) { 
                event.preventDefault(); 
            }
            console.log(inputValue);
        });
    });

</script>

0
投票

这是您可以轻松理解的代码,可以修改任何字符char异常。

我包括BACKSPACE的例外。

同样,您可以通过在语句中包含键代码来提供异常。

var c= ((e.which>=65 && e.which<91) || (e.which==8 /**Here 8 if for the Backspace**/) || (e.which=="your key code"))

https://gist.github.com/SathishSaminathan/e3c509243ead20fcae26c87fdd6f78fd


0
投票

你可以使用这个简单的方法,我从这个post

<input type="text" name="fullName" onkeypress="return (event.charCode > 64 && 
event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" 
placeholder="Full Name">

-2
投票
function ValidateAlpha(evt) { 
  var keyCode = (evt.which) ? evt.which : evt.keyCode if (
    (keyCode < 65 || keyCode > 90) && 
    (keyCode < 97 || keyCode > 123) && 
    keyCode != 32 && 
    keyCode != 39
  )
© www.soinside.com 2019 - 2024. All rights reserved.