jQuery.validator.addMethod("maxWords", function(value, element, params) { 
    return this.optional(element) || value.match(/\b\w+\b/g).length < params; 
}, ''); 
 
jQuery.validator.addMethod("minWords", function(value, element, params) { 
    return this.optional(element) || value.match(/\b\w+\b/g).length >= params; 
}, ''); 
 
jQuery.validator.addMethod("rangeWords", function(value, element, params) { 
    return this.optional(element) || value.match(/\b\w+\b/g).length >= params[0] && value.match(/bw+b/g).length < params[1]; 
}, '');

jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) {
	return this.optional(element) || /^[a-z-.,()'\"\s]+$/i.test(value);
}, '');

jQuery.validator.addMethod("alphanumeric", function(value, element) {
	return this.optional(element) || /^\w+$/i.test(value);
}, '');  

jQuery.validator.addMethod("lettersonly", function(value, element) {
	return this.optional(element) || /^[a-z]+$/i.test(value);
}, ''); 

jQuery.validator.addMethod("nowhitespace", function(value, element) {
	return this.optional(element) || /^\S+$/i.test(value);
}, ''); 
jQuery.validator.addMethod("cellphone", function(value, element) {
	return this.optional(element) || /^0[46]{1}[0-9]{8}$/i.test(value);
}, ''); 
jQuery.validator.addMethod("nickname", function(value, element) {
	return this.optional(element) || /^[a-zA-Z0-9\!\(\)\*\,\.\$\(_)\^\-\;\:\=\[\]\{\}\~]{3,14}$/i.test(value);
}, ''); 
jQuery.validator.addMethod("chatmessage", function(value, element) {
	if (/^vrijgezel|single|daten|msn|hotmail|live|webcam|cam|geil|neuken|sex$/im.test(value)) {
	    return false;
	}
	
	return true;
}, ''); 
jQuery.validator.addMethod('validChars', function (value) {
    var result = true;
    var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?_ ";
    
    for (var i = 0; i < value.length; i++) {
        if (iChars.indexOf(value.charAt(i)) != -1) { return false; }
    }
    return result;
    
 }, '');
jQuery.validator.addMethod('validCharsWithSpaces', function (value) {
    var result = true;
    var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?_";
    
    for (var i = 0; i < value.length; i++) {
        if (iChars.indexOf(value.charAt(i)) != -1) { return false; }
    }
    return result;
    
 }, '');
