1. 默认校验
// Jquery验证默认提示
jQuery.extend (jQuery.validator.messages, {
required : "不能为空",
remote : "请修正该字段",
email : "请输入正确格式的电子邮件",
url : "请输入合法的网址",
date : "请输入合法的日期",
dateISO : "请输入合法的日期 (ISO).",
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} 的值")
});
2. 自定义校验
$.validator.addMethod ('mobile', function (value, element) {
// /^1\d{10}$/ 来自支付宝的正则
return this.optional (element) || /^1\d{10}$/.test (value);
}, '请输入正确的手机号码');
// 电话
jQuery.validator.addMethod ('phone', function (value, element) {
var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
return this.optional (element) || (tel.test (value));
}, "请正确填写您的电话号码");
// 联系电话(手机/电话皆可)验证
jQuery.validator.addMethod ("mobilephone", function (value, element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
return this.optional (element) || tel.test (value) || (length == 11 && mobile.test (value));
}, "请正确填写您的联系方式");
// 匹配qq
jQuery.validator.addMethod ("qq", function (value, element) {
return this.optional (element) || /^[1-9]\d{4,12}$/;
}, "请正确填写您的QQ");
// 邮政编码验证
jQuery.validator.addMethod ("zipcode", function (value, element) {
var zip = /^[0-9]{6}$/;
return this.optional (element) || (zip.test (value));
}, "请正确填写您的邮政编码。");
// 匹配密码,以字母开头,长度在6-12之间,只能包含字符、数字和下划线。
jQuery.validator.addMethod ("extPassword", function (value, element) {
return this.optional (element) || /^[a-zA-Z]\\w{6,12}$/.test (value);
}, "以字母开头,长度在6-12之间,只能包含字符、数字和下划线。");
// 身份证号码验证
jQuery.validator.addMethod ("idCardNo", function (value, element) {
// var idCard = /^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/;
return this.optional (element) || isIdCardNo (value);
}, "请输入正确的身份证号码。");
// IP地址验证
jQuery.validator
.addMethod (
"ip",
function (value, element) {
return this.optional (element)
|| /^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$/
.test (value);
}, "请填写正确的IP地址。");
// 字符验证,只能包含中文、英文、数字、下划线等字符。
jQuery.validator.addMethod ("string", function (value, element) {
return this.optional (element) || /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/.test (value);
}, "只能包含中文、英文、数字、下划线等字符");
// 匹配english
jQuery.validator.addMethod ("english", function (value, element) {
return this.optional (element) || /^[A-Za-z]+$/.test (value);
}, "匹配english");
// 匹配汉字
jQuery.validator.addMethod ("chinese", function (value, element) {
return this.optional (element) || /^[\u4e00-\u9fa5]+$/.test (value);
}, "匹配汉字");
// 匹配中文(包括汉字和字符)
jQuery.validator.addMethod ("chineseChar", function (value, element) {
return this.optional (element) || /^[\u0391-\uFFE5]+$/.test (value);
}, "匹配中文(包括汉字和字符) ");
// 判断是否为合法字符(a-zA-Z0-9-_)
jQuery.validator.addMethod ("rightfulString", function (value, element) {
return this.optional (element) || /^[A-Za-z0-9_-]+$/.test (value);
}, "判断是否为合法字符(a-zA-Z0-9-_)");
// 判断是否包含中英文特殊字符,除英文"-_"字符外
jQuery.validator
.addMethod (
"containsSpecialChar",
function (value, element) {
var reg = RegExp (/[(\ )(\`)(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\+)(\=)(\|)(\{)(\})(\')(\:)(\;)(\')(',)(\[)(\])(\.)(\<)(\>)(\/)(\?)(\~)(\!)(\@)(\#)(\¥)(\%)(\…)(\&)(\*)(\()(\))(\—)(\+)(\|)(\{)(\})(\【)(\】)(\‘)(\;)(\:)(\”)(\“)(\’)(\。)(\,)(\、)(\?)]+/);
return this.optional (element) || !reg.test (value);
}, "含有中英文特殊字符");
3.自定义异步校验
jQuery.validator.addMethod ("vehicleNo", function (value, element) {
var flag=false;
//设置同步
$.ajaxSetup({
async: false
});
$.post("baseinfo/vehicle/checkVehicleNo",{vehicleNo:value},function(result){
if(result==false){
flag = true;
}
});
// 恢复异步
$.ajaxSetup({
async: true
});
return flag;
}, "该车牌号已登记");
4.html的操作
<div class="col-sm-4">
<input class="form-control" id="mobile" name="mobile" value="${o.mobile}"type="text" required mobile=true/>
</div>