我需要一个jquery或js函数来只允许输入字母和空格。 提前谢谢。
页:
<p:inputText onkeypress="onlyLetter(this)">
功能:
function onlyLetter(input){
$(input).keypress(function(ev) {
var keyCode = window.event ? ev.keyCode : ev.which;
// code
});
}
答案 0 :(得分: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();
}
});
});
答案 1 :(得分: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;
}
});
答案 2 :(得分:4)
首先,我对jQuery没什么经验,并将提供一个vanilla javascript示例。这是:
document.getElementById('inputid').onkeypress=function(e){
if(("abcdefghijklmnopqrstuvwxyz ").indexOf(String.fromCharCode(e.keyCode))===-1){
e.preventDefault();
return false;
}
}
答案 3 :(得分: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>
答案 4 :(得分:0)
以下是您可以轻松理解的代码,可以修改任何字符char
异常。
我包含了BACKSPACE
的例外情况。
同样,您可以通过在语句中包含keycode来提供异常。
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
答案 5 :(得分:0)
您可以使用我从此post
中学到的简单方法<input type="text" name="fullName" onkeypress="return (event.charCode > 64 &&
event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)"
placeholder="Full Name">
答案 6 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<script
src="https://code.jquery.com/jquery-3.4.1.js"></script>
</head>
<body>
<br/>
Enter Only Alphabate: <input id="txtName" name="lname">
<script>
$('#txtName').keypress(function (e) {
var regex = new RegExp("^[a-zA-Z \s]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
else
{
e.preventDefault();
alert('Please Enter Alphabate');
return false;
}
});
</script>
</body>
</html>
答案 7 :(得分:0)
jQuery
var letters = /^[A-Za-z ]+$/;
var city_input="";
$(document).ready(function(){
$("#city_name").on("input", function(){
var city_value=$(this).val();
if(city_value==="")
{
city_input=city_value;
}
else if(city_value.match(letters)===null){
$(this).val(city_input);
}
else{
city_input=city_value;
}
});
});
答案 8 :(得分:-2)
git fetch