jQuery validate: How to add a rule for regular expression validation?

前端 未结 13 1529
忘掉有多难
忘掉有多难 2020-11-22 07:41

I am using the jQuery validation plugin. Great stuff! I want to migrate my existing ASP.NET solution to use jQuery instead of the ASP.NET validators. I am m

13条回答
  •  猫巷女王i
    2020-11-22 08:18

    This is working code.

    function validateSignup()
    {   
        $.validator.addMethod(
                "regex",
                function(value, element, regexp) 
                {
                    if (regexp.constructor != RegExp)
                        regexp = new RegExp(regexp);
                    else if (regexp.global)
                        regexp.lastIndex = 0;
                    return this.optional(element) || regexp.test(value);
                },
                "Please check your input."
        );
    
        $('#signupForm').validate(
        {
    
            onkeyup : false,
            errorClass: "req_mess",
            ignore: ":hidden",
            validClass: "signup_valid_class",
            errorClass: "signup_error_class",
    
            rules:
            {
    
                email:
                {
                    required: true,
                    email: true,
                    regex: /^[A-Za-z0-9_]+\@[A-Za-z0-9_]+\.[A-Za-z0-9_]+/,
                },
    
                userId:
                {
                    required: true,
                    minlength: 6,
                    maxlength: 15,
                    regex: /^[A-Za-z0-9_]{6,15}$/,
                },
    
                phoneNum:
                {
                    required: true,
                    regex: /^[+-]{1}[0-9]{1,3}\-[0-9]{10}$/,
                },
    
            },
            messages: 
            {
                email: 
                {
                    required: 'You must enter a email',
                    regex: 'Please enter a valid email without spacial chars, ie, Example@gmail.com'
                },
    
                userId:
                {
                    required: 'Alphanumeric, _, min:6, max:15',
                    regex: "Please enter any alphaNumeric char of length between 6-15, ie, sbp_arun_2016"
                },
    
                phoneNum: 
                {
                    required: "Please enter your phone number",
                    regex: "e.g. +91-1234567890"    
                },
    
            },
    
            submitHandler: function (form)
            {
                return true;
            }
        });
    }
    

提交回复
热议问题