Javascript 为什么自定义验证后无法输入%sign
我有一个要求,我可以输入不超过100(允许100)的数字。此外,这些数字的开头可以有Javascript 为什么自定义验证后无法输入%sign,javascript,validation,keycode,Javascript,Validation,Keycode,我有一个要求,我可以输入不超过100(允许100)的数字。此外,这些数字的开头可以有+,-符号,结尾可以有% 我提出了下面的函数来进行验证。然而,即使在苦苦挣扎之后,我也无法解释为什么我已经输入了2位数字,却无法输入%符号 例:键入10后,我无法键入%(Shift+5) 我的职能: $scope.checkInputValidation = function(event, value) { var key = event.keyCode; var currentcharacter
+
,-
符号,结尾可以有%
我提出了下面的函数来进行验证。然而,即使在苦苦挣扎之后,我也无法解释为什么我已经输入了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;
}
}
}
$scope.checkInputValidation=函数(事件、值){
var key=event.keyCode;
var currentcharacter=String.fromCharCode(键);
如果(key==91 | | key==187 | | | key==189 | |(15currentcharacter
永远不会包含%
字符。您必须结合event.shiftKey
属性检查5
(53)的key代码
if(key === 53 && event.shiftKey) {
.. % pressed ..
}
currentcharacter
永远不会包含%
字符。您必须结合事件.shiftKey
属性检查5
(53)的键码
if(key === 53 && event.shiftKey) {
.. % pressed ..
}
检查字符串值是否等于100字符串值100指的是什么?
currentcharacter
永远不会包含%
。必须结合event.shiftKey
属性检查keyCode中的5(53)。如果(key==53&&event.shiftKey){..%按下..}
谢谢你的建议……你的建议有效检查字符串值是否等于100字符串值100指的是什么?currentcharacter
永远不会包含%
。你必须结合event.shiftKey
属性检查keyCode的5(53)。if(key==53&&event.shiftKey){..%pressed..}
谢谢你的建议……你的建议奏效了