javascript - Javascript 函数未按预期工作
问题描述
目前我正在尝试创建一个只允许 A-Za-z、0-9、空格和逗号的脚本。这是我的脚本:
<textarea name="commentText" onkeypress="return filterCharAll(event,this);"></textarea>
function filterCharAll(e, t) {
if (window.event) {
var charCode = window.event.keyCode;
}
else if (e) {
var charCode = e.which;
}
else { return true; }
if ((charCode > 47 && charCode < 58) || (charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || (charCode == 188 || charCode == 32 || charCode == 13)) {
return true;
} else {
return false;
}
}
一切正常!但是逗号不起作用。当我按下它时,没有任何反应
JSfiddle:https ://jsfiddle.net/mek7qy8h/
你能帮助我吗?谢谢你。
解决方案
您不应该使用它,charCode
因为它已被弃用,而是您可以使用char
并针对正则表达式进行测试。
function filterAll(event) {
return /[A-Za-z0-9, ]/.test(event.char);
}
推荐阅读
- maven - maven 生成 pom.properties 文件添加日期属性
- django - 通道 websocket AsyncJsonWebsocketConsumer 未达到断开连接
- javascript - 如何将嵌套数组中的元素转换为具有名称和值属性的对象数组?
- javascript - 将元素附加到DOM后如何重新加载脚本
- css - 如何在 CSS3 中更改 mat-checkbox 背景颜色?角6
- numpy - 如何理解 np.argwhere 函数?
- sql - SQL 服务器修剪字符串
- pdf - 如何解析结构化 PDF 以收集所有文本和框的元数据作为数据字典
- c# - 当 AutoGenerateColumns=false 在 CustomControl DataGrid(WPF Datagrid)中时,DataGrid.Columns 中提到的列不可见
- cordova - 添加 FCM 插件后的 Google 服务版本冲突:离子 3