javascript - 仅适用于 alpha 和单个空格的函数
问题描述
我有一个功能可以让人们只输入字母 onkeypress
function isAlfa(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
return false;
}
return true;
}
我有另一个功能可以防止他们输入双空格
function checkstuff(event){
if(event.target.value.substr(-1)=== ' ' && event.code === 'Space')
{
//alert('space clicked twice');
//remove space from the last.
event.target.value = event.target.value.substr(0,event.target.value.length-1);
}
debugger;
var evt = (event) ? event : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
console.log(charCode)
return false;
}
console.log('valid '+charCode)
return true;
}
我一直在尝试将两者合二为一,但没有成功。我尝试同时运行它们onkeypress
,但它只运行第一个。如何合并这两个功能?
解决方案
在字母检查部分之后,您可以添加检查双空格的功能,如下所示。
function isAlfa(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
return false;
}
if(evt.target.value.substr(-1) === ' ' && evt.keyCode === 32) {
return false;
}
return true;
}
<input type="text" onkeypress="return isAlfa(event)" />
推荐阅读
- intellij-idea - 如何启用 Flutter/Dart 语言实验?
- windows-7 - 为什么格式化 win 7 电脑到 windows 10 的 CPU-Z bench 分数翻了一番?
- ios - 如何使用昵称代替全名 Apple Developer Account?
- css - Angular 7/CSS 动画:将焦点上的表单字段扩展指定数量?
- react-native - 如何根据情况用图像填充空白处
- maven - 通过 maven 命令运行时如何修复 system.getenv 错误?
- python - python中的模块和命名空间有什么区别?
- r - 如何将查询字符串从闪亮的url转换为重音字符串
- neo4j - 如何在单个 neo4j 查询中删除和添加关系?
- gradle - Jenkins - 构建失败 - 参数未传递给 Gradle