easyui中的基本驗證大全
/**
* 擴展easyui的validator插件rules,支持更多類型驗證
*/
$.extend($.fn.validatebox.defaults.rules, {
minLength : { // 判斷最小長度
validator : function(value, param) {
return value.length >= param[0];
},
message : ‘最少輸入 {0} 個字符‘
},
length : { // 長度
validator : function(value, param) {
var len = $.trim(value).length;
return len >= param[0] && len <= param[1];
},
message : "輸入內容長度必須介於{0}和{1}之間"
},
phone : {// 驗證電話號碼
validator : function(value) {
return /^((\d2,3
},
message : ‘格式不正確,請使用下面格式:020-88888888‘
},
mobile : {// 驗證手機號碼
validator : function(value) {
return /^(13|15|18)\d{9}$/i.test(value);
},
message : ‘手機號碼格式不正確‘
},
phoneAndMobile : {// 電話號碼或手機號碼
validator : function(value) {
return /^((\d2,3
},
message : ‘電話號碼或手機號碼格式不正確‘
},
idcard : {// 驗證身份證
validator : function(value) {
return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value) || /^\d{18}(\d{2}[A-Za-z0-9])?$/i.test(value);
},
message : ‘身份證號碼格式不正確‘
},
intOrFloat : {// 驗證整數或小數
validator : function(value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message : ‘請輸入數字,並確保格式正確‘
},
currency : {// 驗證貨幣
validator : function(value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message : ‘貨幣格式不正確‘
},
qq : {// 驗證QQ,從10000開始
validator : function(value) {
return /^[1-9]\d{4,9}$/i.test(value);
},
message : ‘QQ號碼格式不正確‘
},
integer : {// 驗證整數
validator : function(value) {
return /^[+]?[1-9]+\d*$/i.test(value);
},
message : ‘請輸入整數‘
},
chinese : {// 驗證中文
validator : function(value) {
return /^[\u0391-\uFFE5]+$/i.test(value);
},
message : ‘請輸入中文‘
},
chineseAndLength : {// 驗證中文及長度
validator : function(value) {
var len = $.trim(value).length;
if (len >= param[0] && len <= param[1]) {
return /^[\u0391-\uFFE5]+$/i.test(value);
}
},
message : ‘請輸入中文‘
},
english : {// 驗證英語
validator : function(value) {
return /^[A-Za-z]+$/i.test(value);
},
message : ‘請輸入英文‘
},
englishAndLength : {// 驗證英語及長度
validator : function(value, param) {
var len = $.trim(value).length;
if (len >= param[0] && len <= param[1]) {
return /^[A-Za-z]+$/i.test(value);
}
},
message : ‘請輸入英文‘
},
englishUpperCase : {// 驗證英語大寫
validator : function(value) {
return /^[A-Z]+$/.test(value);
},
message : ‘請輸入大寫英文‘
},
unnormal : {// 驗證是否包含空格和非法字符
validator : function(value) {
return /.+/i.test(value);
},
message : ‘輸入值不能為空和包含其他非法字符‘
},
username : {// 驗證用戶名
validator : function(value) {
return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
},
message : ‘用戶名不合法(字母開頭,允許6-16字節,允許字母數字下劃線)‘
},
faxno : {// 驗證傳真
validator : function(value) {
return /^((\d2,3
},
message : ‘傳真號碼不正確‘
},
zip : {// 驗證郵政編碼
validator : function(value) {
return /^[1-9]\d{5}$/i.test(value);
},
message : ‘郵政編碼格式不正確‘
},
ip : {// 驗證IP地址
validator : function(value) {
return /d+.d+.d+.d+/i.test(value);
},
message : ‘IP地址格式不正確‘
},
name : {// 驗證姓名,可以是中文或英文
validator : function(value) {
return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
},
message : ‘請輸入姓名‘
},
engOrChinese : {// 可以是中文或英文
validator : function(value) {
return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
},
message : ‘請輸入中文‘
},
engOrChineseAndLength : {// 可以是中文或英文
validator : function(value) {
var len = $.trim(value).length;
if (len >= param[0] && len <= param[1]) {
return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
}
},
message : ‘請輸入中文或英文‘
},
carNo : {
validator : function(value) {
return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value);
},
message : ‘車牌號碼無效(例:粵B12350)‘
},
carenergin : {
validator : function(value) {
return /^[a-zA-Z0-9]{16}$/.test(value);
},
message : ‘發動機型號無效(例:FG6H012345654584)‘
},
same : {
validator : function(value, param) {
if ($("#" + param[0]).val() != "" && value != "") {
return $("#" + param[0]).val() == value;
} else {
return true;
}
},
message : ‘兩次輸入的密碼不一致!‘
}
});
/**
* 擴展easyui validatebox的兩個方法.移除驗證和還原驗證
*/
$.extend($.fn.validatebox.methods, {
remove : function(jq, newposition) {
return jq.each(function() {
$(this).removeClass("validatebox-text validatebox-invalid").unbind(‘focus.validatebox‘).unbind(‘blur.validatebox‘);
// remove tip
// $(this).validatebox(‘hideTip‘, this);
});
},
reduce : function(jq, newposition) {
return jq.each(function() {
var opt = $(this).data().validatebox.options;
$(this).addClass("validatebox-text").validatebox(opt);
// $(this).validatebox(‘validateTip‘, this);
});
},
validateTip : function(jq) {
jq = jq[0];
var opts = $.data(jq, "validatebox").options;
var tip = $.data(jq, "validatebox").tip;
var box = $(jq);
var value = box.val();
function setTipMessage(msg) {
$.data(jq, "validatebox").message = msg;
};
var disabled = box.attr("disabled");
if (disabled == true || disabled == "true") {
return true;
}
if (opts.required) {
if (value == "") {
box.addClass("validatebox-invalid");
setTipMessage(opts.missingMessage);
$(jq).validatebox(‘showTip‘, jq);
return false;
}
}
if (opts.validType) {
var result = /([a-zA-Z_]+)(.*)/.exec(opts.validType);
var rule = opts.rules[result[1]];
if (value && rule) {
var param = eval(result[2]);
if (!rule["validator"](value, param)) {
box.addClass("validatebox-invalid");
var message = rule["message"];
if (param) {
for (var i = 0; i < param.length; i++) {
message = message.replace(new RegExp("\\{" + i + "\\}", "g"), param[i]);
}
}
setTipMessage(opts.invalidMessage || message);
$(jq).validatebox(‘showTip‘, jq);
return false;
}
}
}
box.removeClass("validatebox-invalid");
$(jq).validatebox(‘hideTip‘, jq);
return true;
},
showTip : function(jq) {
jq = jq[0];
var box = $(jq);
var msg = $.data(jq, "validatebox").message
var tip = $.data(jq, "validatebox").tip;
if (!tip) {
tip = $("<div
class=\"validatebox-tip\">" + "<span
class=\"validatebox-tip-content\">" + "</span>" + "<span
class=\"validatebox-tip-pointer\">" + "</span>" +
"</div>").appendTo("body");
$.data(jq, "validatebox").tip = tip;
}
tip.find(".validatebox-tip-content").html(msg);
tip.css({
display : "block",
left : box.offset().left + box.outerWidth(),
top : box.offset().top
});
},
hideTip : function(jq) {
jq = jq[0];
var tip = $.data(jq, "validatebox").tip;
if (tip) {
tip.remove;
$.data(jq, "validatebox").tip = null;
}
}
});
easyui中的基本驗證大全