Reputation: 4323
I am trying to validate a form element with 3 condition using Jquery.
This is my Code -
var valid = true,
errorMessage = "";
if ($('#name').val()) {
if ($('#name').val().length > 60 || $('#name').val().length < 3) {
errorMessage = "Length of Your Name must be between 3 and 60.\n";
valid = false;
} else {
var rege = /^[a-z]([a-z_])+$/i;
if(!rege.test(!$('#name').val())){
errorMessage += "Please enter Valid name.\n";
valid = false;
}
}
} else {
errorMessage += "please enter your name \n";
valid = false;
}
If the name field is empty it should be display 'Please enter your name'.
If the field is not empty and its length is < 3 or > 60 it should be display 'Length of Your Name must be between 3 and 60'.
Finally It should be check user name is valid or not. If it is not valid 'please enter valid name' should be display.
My problem is when I am entering valid user name its always going to this message - 'Please enter valid name.'
Can anyone tell where is wrong I have gone?
NOTE : my name can have only uppercase letters and lowercase letters.
Any ideas are greatly appreciated. Thank you.
Upvotes: 0
Views: 62
Reputation: 388316
it looks fine to me exception for a unwanted !
in
var rege = /^[a-z]([a-z\s])+$/i;
if(!rege.test($('#name').val())){ // ! before $('#name').val() not required
errorMessage += "Please enter Valid name.\n";
valid = false;
}
Upvotes: 1
Reputation: 6764
change your regex to this:
var rege = /^[a-zA-Z]([a-zA-Z])+$/i;
Upvotes: 0