(function() { 'use strict'; jQuery.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); },"Check your input. The format is not valid." ); // Valid Registration form validation $("#validRegister").validate({ rules: { memberid: { required: true, remote: { url: '/php/validate-memberid.php', // fill in the file location for verification type: 'post', // transmission data: {// data transmission memberid:function(){ return $("#vr_memberid").val(); } } } }, birthday: { required: true, regex: "^(0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01])[-/.](19|20)\\d\\d$", remote: { url: '/php/validate-birthday.php', // fill in the file location for verification type: 'post', // transmission data: {// data transmission memberid:function(){ return $("#vr_memberid").val(); } } } } }, messages: { memberid: { required: "Member ID is a required field.", remote: "Member ID is not valid." }, birthday: { required: "Birthday is a required field.", regex: "A valid birthdate in the format mm/dd/yyyy is required.", remote: "The birth date does not match our records." } } }); // Registration form validation $("#registerForm").validate({ rules: { email_address: { required: true, email: true }, username: { required: true, regex: "^[a-zA-Z0-9_]*$", remote: { url: '/php/validate-username.php', // fill in the file location for verification type: 'post', // transmission data: {// data transmission username:function(){ return $('#username').val(); } } } }, password: { required: true, minlength: 10, regex: "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$" }, confirmpwd: { required: true, equalTo: '#password' } }, messages: { email_address: { required: "Email Address is a required field.", email: "Please enter a valid email address." }, username: { required: "Username is a required field.", regex: "The username is not the appropriate format.", remote: "This username is already being used." }, password: { required: "Password is required", minlength: "Password should be at least 10 characters.", regex: "The password is not the appropriate format." }, confirmpwd: { required: "Password confirmation is required.", equalTo: "The passwords do not match." } } }); // Log in form validation $("#loginForm").validate({ rules: { user: "required", password: "required" }, messages: { user: { required: "Username is a required field." }, password: { required: "Password is a required field." } } }); // Recover Password form validation $("#retrievePW").validate({ rules: { memberid: { required: true, remote: { url: '/php/validate-memberid.php', // fill in the file location for verification type: 'post' // transmission } }, userid: { required: true, remote: { url: '/php/validate-username-exists.php', // fill in the file location for verification type: 'post', // transmission data: {// data transmission memberid:function(){ return $("#memberid").val(); } } } } }, messages: { memberid: { required: "Member ID is a required field.", remote: "Member ID is not valid." }, userid: { required: "Username is a required field.", remote: "Username is not valid." } } }); // Recover Password form validation $("#retrievePW2").validate({ rules: { user: { required: true, remote: { url: 'php/validate-username-exists.php', // fill in the file location for verification type: 'post', // transmission data: {// data transmission user:function(){ return $("#userid").val(); } } } } }, messages: { user: { required: "Username is a required field.", remote: "Username is not valid." } } }); // Recover Username form validation $("#retrieveUser").validate({ rules: { memberid: { required: true, remote: { url: '/php/validate-memberid.php', // fill in the file location for verification type: 'post' // transmission } } }, messages: { memberid: { required: "Member ID is a required field.", remote: "Member ID is not valid." } } }); // Change Password form validation $("#changePW").validate({ rules: { password: { required: true, minlength: 10, regex: "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$" }, confirmpwd: { required: true, equalTo: '#password' } }, messages: { password: { required: "Password is required", minlength: "Password should be at least 10 characters.", regex: "The password is not the appropriate format." }, confirmpwd: { required: "Password confirmation is required.", equalTo: "The passwords do not match." } } }); }).apply(this, [jQuery]);