如何强制输入只允许Alpha字母?

在这里使用jQuery,但无法阻止数字输入到输入字段

输入

 

jQuery的

 function alphaOnly(event) { alert(event); var key; if (window.event) { key = window.event.key; } else if (e) { key = e.which; } //var key = window.event.key || event.key; alert(key.value); return ((key >= 65 && key = 95 && key <= 122)); } 

我在这里看到了很多关于如何限制数字的例子,我正在使用z和AZ的正确密钥代码。 你看到我做错了吗?

event.key属性给了我一个未定义的值。 相反,我使用了event.keyCode

 function alphaOnly(event) { var key = event.keyCode; return ((key >= 65 && key <= 90) || key == 8); }; 

请注意,值8用于退格键。

您可以改为使用正则表达式,而不是依赖可能非常麻烦的键代码。 通过更改模式,我们可以轻松限制输入以满足我们的需求。 请注意,这适用于keypress事件,并允许使用退格键(如在接受的答案中)。 它不会阻止用户粘贴“非法”字符。

 function testInput(event) { var value = String.fromCharCode(event.which); var pattern = new RegExp(/[a-zåäö ]/i); return pattern.test(value); } $('#my-field').bind('keypress', testInput); 
   

在较新的浏览器上,您可以使用:

  

您可以使用正则表达式来限制输入字段。

短暂的ONELINER

  

对于所有unicode字母尝试这个正则表达式 : /\p{L}/u ( 但是 … 这个 ) – 这是工作示例 🙂

  function onlyAlphabets(e, t) { try { if (window.event) { var charCode = window.event.keyCode; } else if (e) { var charCode = e.which; } else { return true; } if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123)) return true; else return false; } catch (err) { alert(err.Description); } } 

不错的单行HTML:

   
  function alphaOnly(event) { var key = event.keyCode;`enter code here` return ((key >= 65 && key <= 90) || key == 8); };