该前端验证有两种使用方式,一种校验条件写在标签内部的class属性里,另一种是将校验写在js代码中。
第一种方式 写在标签中能够很直观的展现表单标签的检验,我觉得对于标签比较多的时候适合使用这种。
标签的方式验证
第二种写在js代码中:
说明文件:默认校验规则:
(1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php验证输入值 (3)email:true 必须输入正确格式的电子邮件 (4)url:true 必须输入正确格式的网址 (5)date:true 必须输入正确格式的日期 (6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性 (7)number:true 必须输入合法的数字(负数,小数) (8)digits:true 必须输入整数 (9)creditcard: 必须输入合法的信用卡号 (10)equalTo:"#field" 输入值必须和#field相同 (11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀) (12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (13)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (15)range:[5,10] 输入值必须介于 5 和 10 之间 (16)max:5 输入值不能大于5 (17)min:10 输入值不能小于10
默认提示:
messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.", number: "Please enter a valid number.", numberDE: "Bitte geben Sie eine Nummer ein.", digits: "Please enter only digits", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", accept: "Please enter a value with a valid extension.", maxlength: $.validator.format("Please enter no more than {0} characters."), minlength: $.validator.format("Please enter at least {0} characters."), rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), range: $.validator.format("Please enter a value between {0} and {1}."), max: $.validator.format("Please enter a value less than or equal to {0}."), min: $.validator.format("Please enter a value greater than or equal to {0}.") }
中文默认提示添加js:
jQuery.extend(jQuery.validator.messages, { required: "此内容为必填项,请输入!", remote: "内容输入错误!", email: "E-mail格式错误,请重新输入!", url: "网址格式错误,请重新输入!", date: "日期格式错误,请重新输入!", dateISO: "日期格式错误,请重新输入!", number: "请输入合法的数字!", digits: "请输入零或正整数!", creditcard: "信用卡号格式错误,请重新输入!", equalTo: "两次输入不一致,请重新输入!", accept: "请输入拥有合法后缀名的字符串!", maxlength: jQuery.validator.format("字符串长度不能大于{0}!"), minlength: jQuery.validator.format("字符串长度不能小于{0}!"), rangelength: jQuery.validator.format("字符串长度只允许在{0}-{1}之间!"), range: jQuery.validator.format("输入的数值只允许在{0}-{1}之间!"), max: jQuery.validator.format("输入的数值不允许大于{0}!"), min: jQuery.validator.format("输入的数值不允许小于{0}!"), integer: "请输入合法的整数!", positive: "请输入合法的正数!", positiveInteger: "请输入合法的正整数!", mobile: "手机号码格式错误,请重新输入!", phone: "电话号码格式错误,请重新输入!", zipCode: "邮政编码格式错误,请重新输入!", requiredTo: "此内容为必填项,请输入!", username: "只允许包含中文、英文、数字和下划线!", prefix: "请输入以 {0} 开头的字符串!", lettersonly: "只允许包含字母!" });
自定义校验js:
//验证手机 jQuery.validator.addMethod("isPhone", function(value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, "请填写正确的手机号码"); //可以自定义默认提示信息
实例测试:jqvalidationtest.zip