簡體   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