JS,检查仅包括退格的数字验证

JS that Check validation for numbers only including backspace

本文关键字:数字 验证 包括退 检查 JS      更新时间:2023-09-26

我正在尝试在JS中创建函数,该函数仅检查数字的验证,包括退格但是退格不起作用,如何改进退格键实际工作的功能?

请帮助我。

这是我的函数:

function NumbersOnly(sender, args) {
    var text = sender.get_value() + args.get_keyCharacter();
        if (!text.match('^[0-9]+$'))
        args.set_cancel(true);
    }

我在 telerik 中创建了一个 RadTextBox,其中包含 OnKeyPress="NumbersOnly" 的 ClientEvents

if (isNaN(text) && text != ''b') {
     // code goes here
}

不过你应该使用键码...它将使这些类型的检查(可以说)更容易和(可能)更快,因为您将检查击键而不是其文本等效项。

顺便说一句,isNaN 达到了相同的结果,并且可以提高 7 倍。我还发现它比正则表达式更容易阅读。

试试这个
(JavaScript代码)

function validateNum(event){    
   var allowedChar = "0123456789'b";    
   var keyCode = event.keyCode;    
   var asciiCode = String.fromCharCode(keyCode);                
   if (allowedChar.indexOf(asciiCode) == -1){    
          return false;    
   }    
}  

(网页代码)

< input type='text' onkeydown='return validateNum(event);'>