RegEx验证错误javascript为数值

时间:2016-08-19 10:04:01

标签: javascript jquery html asp.net regex

我试图在javascript中验证Integer和float值,但未能实现它。它总是允许"。" 。请帮我解决这个正则表达式错误。

结果: - 1,1.1,.1

我正在检查onkeypress事件。它不起作用。

 <input type="text" onkeypress="Test()" style="width:100px"/>

   function Test() {

        var code;
        var character;
        if (document.all)
        {
            code = window.event.keyCode;
        }
        else {
            code = arguments.callee.caller.arguments[0].which;
        }
        var character = String.fromCharCode(code);
        var txt = new RegExp('([0-9]*[.])?[0-9]+');//only numueric value

        if (!txt.test(character)) {
            if (document.all) {
                window.event.returnValue = false;
            }
            else {
                arguments.callee.caller.arguments[0].preventDefault();
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

你需要做两件事:

1)使用&#34; onkeyup&#34;而不是&#34; onkeypress&#34;

2)使用此RegExp:

(^(- )?[0-9]*([\.]?[0-9]+)?$)

我把它放在在线测试仪上,你可以在这里测试一下:

https://regex101.com/r/zL1mB0/3

自您的第一个问题编辑

以来更新的答案版本