Javascript / Jquery验证keyup上的十进制输入

时间:2014-06-01 17:11:09

标签: javascript jquery regex

我正在尝试找到一种方法来验证按键上的文本输入,我想只在我的文本输入中包含数字,包括小数。 我正在采用使用jQuery.keydown的方法,并检查密钥是什么并使用。

输入数字最大长度999.999

-

后的结果。(点)3号是goog。但是99999.999

我需要999.999,222.222,22.01 - > 最大长度+++。+ + +

这是我的代码

<input type="text" id="spinEdit2" class="aSpinEdit" />

<script type="text/javascript">
var txt = document.getElementById('spinEdit2');
    txt.addEventListener('keyup', myFunc);

    function myFunc(e) {
        var val = this.value;

        var re1 = /^([0-9]+[\.]?[0-9]?[0-9]?[0-9]?|[0-9])/g;
            val = re1.exec(val);
            //console.log(val);
            if (val) {
                this.value = val[0];
            } else {
                this.value = "";
            }

    }
</script>

由于

1 个答案:

答案 0 :(得分:2)

怎么样

/^([0-9]{1,3}(?:\.[0-9]{0,3})?)/g

如果您需要详细信息:{1,3}表示前面的事情可能会发生1至3次。 (?:)是一个未捕获的组 - 它是以下符号的分组,但它不会捕获到任何变量,如$ 1。