Javascript:只验证alpha和空格
Javascript: Validate for only alpha and space
我有这个函数,仅当用户在文本框中输入某些内容时,我使用它来验证字母。我刚意识到它不接受空格。我该如何解决这个问题?只是将charCode值添加到等式中?
function isLetter2(evt) {
evt = (evt) ? evt : event;
var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
((evt.which) ? evt.which : 0));
if (charCode > 31 && (charCode < 65 || charCode > 90) &&
(charCode < 97 || charCode > 122)) {
return false;
}
return true;
}
空格是字符码32(十六进制20),所以只需在第一个if语句之前添加这一行。
if (charCode == 32) return true;
后面跟着原来的if语句。(它们之间不需要额外的else语句,因为一旦检测到空格,函数将立即停止并返回true。)
update:你原来的if语句可以通过De Morgan定律简化为<= 31或(包括65和90之间)或(包括97和122之间)。因此,将第一个> 31更改为> 32也可以很好地工作,因为它的否定将是<= 32并导致返回true,从而允许键入空格。但是我不确定为什么你想要允许所有其他小于32的字符被输入…这里面有很多奇怪的东西。也许你应该把你的代码改成这样:
if (charCode == 32 ||
(charCode >= 65 && charCode <= 90) ||
(charCode >= 97 && charCode <= 122))
return true;
else return false;
实际上,所有这些比较的结果本身等于true或false,因此您可以完全消除if/else语句,只需输入:
return charCode == 32 || (charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122);
相关文章:
- 我如何找到一个句子中的所有空格并替换忽略它们
- Regex代码只允许一个空格
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 如何将不可变的js导入angular 2(alpha)
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 用空格替换下划线PHP
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 当没有文本输入聚焦时检测空格键按下
- 一个密码测试程序,如果存在空格,它会提醒用户
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何将字符串拆分为字符,但在javascript中保留空格
- Jquery:如何获取所选选项全文(带空格)
- 用空格替换+
- regex表示逗号,后跟空格或仅逗号
- Javascript Regexp-不接受空格,但应该接受
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 允许alpha字符、空格、破折号、撇号和长度<= 50
- 用于Alpha数字,无空格和9个字符输入的正则表达式
- Javascript:只验证alpha和空格