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

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

页:

function:

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

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

HTML:

  

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演示

以下代码仅允许az,AZ和空格。

HTML

  

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; } }); 

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

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

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

  

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

我包含了BACKSPACE的例外。

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

 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

 function ValidateAlpha(evt) { var keyCode = (evt.which) ? evt.which : evt.keyCode if ( (keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32 && keyCode != 39 )