/** * @requires jquery.validate.js * @author zhanghuihua@msn.com */ (function($){ if ($.validator) { $.validator.addmethod("alphanumeric", function(value, element) { return this.optional(element) || /^\w+$/i.test(value); }, "letters, numbers or underscores only please"); $.validator.addmethod("lettersonly", function(value, element) { return this.optional(element) || /^[a-z]+$/i.test(value); }, "letters only please"); $.validator.addmethod("phone", function(value, element) { return this.optional(element) || /^[0-9 \(\)-]{7,30}$/.test(value); // by lz 增加减号 }, "please specify a valid phone number"); $.validator.addmethod("postcode", function(value, element) { return this.optional(element) || /^[0-9 a-za-z]{5,20}$/.test(value); }, "please specify a valid postcode"); $.validator.addmethod("date", function(value, element, params) { //value = value.replace(/\s+/g, ""); value = value.trim(); // by lz if (string.prototype.parsedate){ var $input = $(element); var pattern = $input.attr('datefmt') || 'yyyy-mm-dd'; //return !$input.val() || $input.val().parsedate(pattern); return this.optional(element) || ((value.length==pattern.length) && value.parsedate(pattern)); // by lz } else { return this.optional(element) || value.match(/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/); } }, "please enter a valid date."); /*自定义js函数验证 * */ $.validator.addmethod("customvalid", function(value, element, params) { try{ return eval('(' + params + ')'); }catch(e){ return false; } }, "please fix this field."); $.validator.addclassrules({ date: {date: true}, alphanumeric: { alphanumeric: true }, lettersonly: { lettersonly: true }, phone: { phone: true }, postcode: {postcode: true} }); $.validator.setdefaults({errorelement:"span"}); $.validator.autocreateranges = true; } })(jquery);