繁体   English   中英

jQuery验证正则表达式

[英]Jquery validation regex

嗨,我现在正在使用表单验证。 如何制作数字,逗号和小数的正则表达式? 或简而言之,是文本框中的货币值。

例如12,100.10

jQuery(function($) {
    var validation_holder;

    $("form#register_form input[name='submit']").click(function() {

    var validation_holder = 0;

        var cost            = $("form#register_form input[name='n_unit_cost']").val();
        var cost_regex      = /^[0-9]+$/; // reg ex cost check  

        if(cost == "") {
            $("span.val_cost").html("This field is required.").addClass('validate');
            validation_holder = 1;
        } else {
            if(!cost_regex.test(cost)){ // if invalid phone
                $("span.val_cost").html("Integer Only is Allowed!").addClass('validate');
                validation_holder = 1;

            } else {
                $("span.val_cost").html("");
            }
        }
        if(validation_holder == 1) { // if have a field is blank, return false
            $("p.validate_msg").slideDown("fast");
            return false;
        }  validation_holder = 0; // else return true
        /* validation end */    
    }); // click end 

}); // jQuery End

就像是:

^\d{1,3}(?:,?\d{3})*\.\d\d$

这将满足您的正则表达式。

var cost_regex = ^\d+(,\d{3})*(\.\d+)?$

这将匹配带或不带逗号,带或不带数字的数字。

说明: \\d+将匹配一个或多个数字。 这将匹配没有逗号的数字。 然后是(,\\d{3})*部分,该部分将允许用户每三个数字使用逗号,但是如果数字中有个愚蠢的逗号(例如1,,,2345 ,则将不匹配不匹配!)。 然后对于小数部分, (\\.\\d+)?$将匹配一个点和任意数量的数字。 ? 使此部分在正则表达式中为可选。

这个工具非常方便编写和测试正则表达式,我邀请您下次尝试验证模式时尝试一下!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM