-2

我正在尝试在 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

4

2 回答 2

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

不过,您应该使用键码……它会使此类检查(可以说)更容易并且(可能)更快,因为您要检查的是击键而不是其文本等价物。

BTW isNaN 实现了相同的结果,并且可以快 7 倍。我还发现它比正则表达式更容易阅读。

于 2013-10-23T00:22:36.380 回答
0

试试这个
(javascript代码)

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

(html代码)

< input type='text' onkeydown='return validateNum(event);'>
于 2013-11-17T03:40:18.947 回答