7

I am using below code

$(function() {
    $("#myForm").validate({
        rules: {
            experience: {
                required: true,
                regex: '^[0-9]$'
            }
        },
        messages: {
            experience: {
                required: "Please provide experience",
                regex: "Provide a valid input for experience"
            }
        }
    });
});

But the above code is not taking 2 or 22 as valid input? What I am doing wrong? Help required...

Ashish Aggarwal
  • 3,018
  • 2
  • 23
  • 46
Anubhav
  • 1,605
  • 4
  • 18
  • 31

3 Answers3

15

Try this regex instead:

^[0-9]+$

Then put it in the code:

$(function() {
   $.validator.addMethod("regex", function(value, element, regexpr) {          
     return regexpr.test(value);
   }, "Please enter a valid pasword.");    

   $("#myForm").validate({
       rules: {
           experience: {
               required: true,
               regex: /^[0-9]+$/
           }
       }
   });
});

Here is a working demo:

http://jsfiddle.net/4PuJL/1/

Stephan
  • 41,764
  • 65
  • 238
  • 329
4

There is no regex method in validate jquery: You have to create of your regex method of your own

You need to use addmethod

$.validator.addMethod("regx", function(value, element, regexpr) {          
    return regexpr.test(value);
}, "Provide a valid input for experience.");

Your function here:

$(function() {
    $("#myForm").validate({
        rules: {
            experience: {
                required: true,
                regex: /^[0-9]$/
            }
        },
        messages: {
            experience: {
                required: "Please provide experience",

            }
        }
    });
});

add regex in Jquery.validate

Community
  • 1
  • 1
Somnath Kharat
  • 3,570
  • 2
  • 27
  • 51
-1

You can use 'pattern' keyword instead of 'regex' in .validate() form of jQuery. Below is sample code :

$('#registerForm').validate({
    rules: {
        "customer[is_seller]": {
            required:true
        },
        "customer[fname]": {
            required:true,
            pattern:/^[A-Za-z]+$/
        },
        "customer[lname]": {
            required:true,
            pattern:/^[A-Za-z\s]+$/
        },
        "customer[email]": {
            required:true,
            email:true
        },
        "customer[password]": {
            required:true
        }
    },
    messages:{
        "customer[is_seller]": {
            required:"Please select Your category"
        },
        "customer[fname]": {
            required:"Please enter first name.",
            pattern:"Special characters not allowed"
        },
        "customer[lname]": {
            required:"Please enter last name."
            pattern:"Special characters not allowed"
        },
        "customer[email]":{
            required:"Email Id is required",
            email:"Please enter a valid email."
        },
        "customer[password]":{
            required:"Password is required"
        }
    }
});
Abhishek
  • 1,558
  • 16
  • 28
  • 1
    Uncaught TypeError: Cannot read property 'call' of undefined. Exception occurred when checking element zipcode, check the 'pattern' method. – Kiran Reddy Feb 27 '17 at 09:38