gpt4 book ai didi

Javascript键盘输入过滤

转载 作者:数据小太阳 更新时间:2023-10-29 04:18:42 24 4
gpt4 key购买 nike

有没有人有一个有效的动态 javascript 输入过滤器来限制跨多个浏览器的文本输入?

我在网上看到了多个示例,但其中大多数似乎都有缺陷或缺乏多浏览器支持。

我目前的尝试贴在下面,但是在 firefox 下移动数字失败,我还没有尝试过其他浏览器。

作为http://www.quirksmode.org/js/keys.html可见,这不是一个简单的问题。

有没有人有更好的解决方案?

var numb = /[0-9]/;
var lwr = /[a-z]/;
var upr = /[A-Z]/;
var alpha = /a-zA-Z]/; //not checked
var alphaNum = /a-zA-Z0-9/; //not checked

function onKeyPressAcceptValues(e, reg){
var key = window.event ? e.keyCode : e.which;
//permit backspace, tab, delete, arrow buttons, (key == 0 for arrow keys)

alert(key);
if(key == 8 || key == 9 || key == 46 ||(key>32 && key <41 ||key == 0)){
return true;
}
var keychar = String.fromCharCode(key);
return reg.test(keychar);
}

function isNumberKey(parm) {return onKeyPressAcceptValues(parm,numb);}
function isLowerKey(parm) {return onKeyPressAcceptValues(parm,lwr);}
function isUpperKey(parm) {return onKeyPressAcceptValues(parm,upr);}
function isAlphaKey(parm) {return onKeyPressAcceptValues(parm,alpha);}
function isAlphanumKey(parm) {return onKeyPressAcceptValues(parm,alphaNum);}

它将通过

使用

<input type="text" name="pw[first_name]" size="15" maxlength="15" onkeypress="return isAlphaKey(event)">

最佳答案

捕获键盘事件无论如何都不会奏效,因为用户总是可以使用 Edit |粘贴。即使您确实提出了跨浏览器解决方案来处理该问题,用户也始终可以通过禁用 Javascript 来绕过一切。

换句话说,不要浪费你的时间。只需在用户尝试提交无效数据时给他们一个错误。

关于Javascript键盘输入过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com