带有小数的负数的Javascript正则表达式

时间:2011-10-13 04:58:40

标签: javascript jquery

我想测试这个输入: [可选的负号] 2位数[可选。和这样的可选数字:

JavaScript

中的

-34-34.533334.5333334

这是我提出的,但它不起作用!

/^(-)\d{2}(\.d\{1})$/

有人可以帮帮我吗?

8 个答案:

答案 0 :(得分:11)

试试这个正则表达式:

/^-?\d{2}(\.\d+)?$/

答案 1 :(得分:4)

此正则表达式匹配任何有效的整数。

/^0$|^-?[1-9]\d*(\.\d+)?$/

您可以修改它以满足您的需求:

/^-?[1-9]\d{0,1}(\.[1-9]{1})?$/

这匹配2.1,21.4,3,90 ......

答案 2 :(得分:3)

也许正则表达式

function validate(val){
    return isNaN(val)?false:(Math.abs(Math.floor(val)).toString().length==2);
}

答案 3 :(得分:0)

试试这个正则表达式:

/^-?[0-9]{2}(?:\.[0-9]+)?$/

答案 4 :(得分:0)

试试这个:

/^(-)?\d{2}(\.\d+)?$/

答案 5 :(得分:0)

您可以使用此正则表达式:

-?\d{2}[.]?\d*

答案 6 :(得分:0)

你的regEx(/^(-)\d{2}(.d{1})$/)做的是:

  

首先要求否定,然后正确地要求你   两位数,然后是“。”你需要任何角色   将它严格用符号“\”,最后得到一位数。

正确的示例代码是:

var str = '-34.23';
pat=/^\-?\d{2}(\.(\d)*)?$/g;
str.match(pat);

更可测试的例子:http://jsfiddle.net/GUFgS/1/

使用“?”在该组匹配后,选项即(\。\ d *)?

答案 7 :(得分:0)

以下简单的html代码将验证+ ve& -ve个2位数加上小数点后可选的最小1位数。

JS代码:

    function validateNum() {
        var patForReqdFld = /^(\-)?([\d]{2}(?:\.\d{1,})?)$/;
        var value = document.getElementById('txtNum').value;

        if(patForReqdFld.test(value)) {
            alert('Valid Number: ' + value);
        } else {
            alert('Invalid Number: ' + value);
        }
    }

HTML代码:

    <label>Enter Number:&nbsp;</label>
    <input type="text" id="txtNum" onBlur="validateNum()"/>