gpt4 book ai didi

javascript - 为什么我在自定义验证后无法输入 % 符号

转载 作者:行者123 更新时间:2023-11-28 06:16:33 24 4
gpt4 key购买 nike

我有一个要求,其中我可以输入不超过 100 个的数字(允许 100 个)。此外,这些数字可以在开头带有 +- 符号,在结尾处带有 % 符号。

我想出了以下函数来验证。然而,即使经过很多努力,我也无法解决为什么当我已经输入 2 位数字时我无法输入 % 符号。

例如:输入 10 后,我无法输入 % (Shift + 5)我的功能:

$scope.checkInputValidation = function(event, value) {
var key = event.keyCode;
var currentcharacter = String.fromCharCode(key);
if (key === 91 || key === 187 || key === 189 || (15 < key && key < 19) || (35 <= key && key <= 40)) {
return;
}
if (isNaN(currentcharacter) && ((currentcharacter !== "%") || (currentcharacter !== "+") || (currentcharacter !== "-") || (currentcharacter !== ""))) {
if ((key !== 46) && (key !== 8)) {
event.preventDefault();
return false;
}
}
var formattedValue;
if (value.indexOf('%') !== -1) {
formattedValue = value.replace('%', "");
} else {
formattedValue = value;
}
if (!isNaN(currentcharacter)) {
if (parseInt(formattedValue + currentcharacter) > 100 || parseInt(formattedValue + currentcharacter) < -100) {
event.preventDefault();
return false;
}
}
}

我想知道原因以及如何输入 %

最佳答案

currentcharacter 永远不会包含 % 字符。您必须结合 event.shiftKey 属性检查 5 (53) 的 keyCode。

if(key === 53 && event.shiftKey) {
.. % pressed ..
}

关于javascript - 为什么我在自定义验证后无法输入 % 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916449/

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