JavaScript和正则表达式,只有数字和。 ,

时间:2010-11-19 08:14:10

标签: javascript regex

正则表达式不是我的事。希望你能在这里帮助我。

我现在有这个:

/ ^ [0-9] + $ /

我需要更改它,因此它将允许0-9之间的数字,并且只允许“,”字符串1次。之后,我们只能拥有我们想要的数字,但只能在“,”之前只有2位数。

允许:66,6666 - 6,66 - 6,6 不允许:666,66 - 66,666abc - abc,666

希望你能提供帮助。

代码:

$("#discountCodeAmount").keyup(function() {

        var nAmount = $("#discountCodeAmount").val();
        var kronerExp = /^[0-9]+$/;
        var procentExp = /^[0-9]{1,2},[0-9]+$/;

        if($('#typeProcent').is(":selected") && !nAmount.match(procentExp)) {
            errorDialog("error");
            $("#discountCodeAmount").val("");
            $("body").focus();
        }
        else if(!nAmount.match(kronerExp)) {
            errorDialog("error");
            $("#discountCodeAmount").val("");
            $("body").focus();
        }
});

4 个答案:

答案 0 :(得分:1)

/^[0-9]{1,2},[0-9]+$/

答案 1 :(得分:0)

/^[0-9]{1,2},[0-9]+$/

答案 2 :(得分:0)

这应该可以解决问题:

/^\d{2},\d+$/

答案 3 :(得分:0)

工作示例

    $("#discountCodeAmount").blur(function() {  
        checkType();      
    });        

    function checkType() {
        var nAmount = $("#discountCodeAmount").val();
        var kronerExp = /^[0-9]+$/;
        var procentExp = /^[0-9]{1,2}(?:,[0-9]+)?$/;

        if($('#typeProcent').is(":selected") && !nAmount.match(procentExp)) {
            errorDialog("Der opstod en fejl!","Angiv en procentdel mellem 1 og 99.");
            $("#discountCodeAmount").val("");
            $("body").focus();
        }
        else if($('#typeKroner').is(":selected") && !nAmount.match(kronerExp)) {
            errorDialog("Der opstod en fejl!","Angiv kun tal i feltet.");
            $("#discountCodeAmount").val("");
            $("body").focus();
        }
    }