一、擴展easyui的驗證規則
/* easyUI自帶的校驗 */
/*
email: Match email regex rule.
url: Match URL regex rule.
length[0,100]: Between x and x characters allowed.
remote['http://.../action.do','paramName']: Send ajax request to do validate value, return 'true' when successfully.
*/
$.extend($.fn.validatebox.defaults.rules, {
phone : {//手機號碼校驗
validator: function(value, param){
return checkPhone(value);
},
message: '請輸入正確的手機號碼。'
},
myEmail : {//郵箱校驗,避免使用email和默認的衝突
validator: function(value, param){
return checkEmail(value);
},
message: '請輸入正確的郵箱'
}, 下載
loginName : {//登錄名,數字、英文字母或者下劃線
validator: function(value, param){
return checkLoginName(value);
},
message: '只能輸入數字、英文字母或者下劃線'
},
telePhone : {//座機,區號及分機號可有可無
validator: function(value, param){
return checkTelePhone(value);
},
message: '請輸入正確的座機號碼'
},
chinese : {//
validator: function(value, param){
return checkChinese(value);
},
message: '只能輸入中文漢字'
},
number : {//正整數,包括0(00,01非數字)
validator: function(value, param){
return isNumber(value);
},
message: '只能輸入數字(01非數字)'
},
numberText : {//數字組成的字符串,如000222,22220000,00000
validator: function(value, param){
return isNumberText(value);
},
message: '只能輸入數字字符串'
},
idCardNo : {//身份證
validator: function(value, param){
return isIdCardNo(value);
},
message: '請輸入正確的身份證號碼'
},
money : {//金額
validator: function(value, param){
return isFloat(value);
},
message: '請輸入正確的數字'
},
floatNumber : {//數字(包括正整數、0、浮點數)
validator: function(value, param){
return isFloat(value);
},
message: '請輸入正確的數字'
},
minLength: {
validator: function(value, param){
return value.length >= param[0];
},
message: '請輸入至少 {0}個字符。'
},
maxLength: {
validator: function(value, param){
return value.length <= param[0];
},
message: '不能輸入超過{0}個字符。'
}
});
二、使用下載
在data-option加上屬性:validType:'phone',如下面所示:
data-options="required:true,validType:'phone'"
data-options="required:false,validType:'telePhone'"
三、部分校驗方法
Js代碼 下載
/**
* 去掉字符串頭尾空格
*
*/
function trim(str) {
if(str == null){
return "";
}
return str.replace(/(^\s*)|(\s*$)/g, "");
};
/**
* 是否爲Null
* object
* @returns {Boolean}
*/
function isNull(object){
if(object == null || typeof object == "undefined"){
return true;
}
return false;
};
/**
* 是否爲空字符串,有空格不是空字符串
* str
* {Boolean}
*/
function isEmpty(str){
if(str == null || typeof str == "undefined" ||
str == ""){
return true;
}
return false;
};
/**
* 是否爲空字符串,全空格也是空字符串
* str
* {Boolean}
*/
function isBlank(str){
if(str == null || typeof str == "undefined" ||
str == "" || trim(str) == ""){
return true;
}
return false;
};
Js代碼下載
/**
* 檢查手機號碼
*
*/
function checkPhone(z_check_value) {
if(isEmpty(z_check_value) || z_check_value.length != 11){
return false;
}
var z_reg = /^13[0-9]{9}|15[012356789][0-9]{8}|18[0-9]{9}|(14[57][0-9]{8})|(17[015678][0-9]{8})$/;
return z_reg.test(z_check_value);
};
/**
* 檢查電子郵箱
*
*/
function checkEmail(z_check_value){
//var emailReg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
var z_reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
return z_reg.test($.trim(z_check_value));
};
/**
* 檢查登錄名(由數字、26個英文字母或者下劃線組成的字符串)
*
*/
function checkLoginName(z_check_value){
var z_reg = /^\w+$/;
return z_reg.test($.trim(z_check_value));
};
Js代碼下載
/**
* 檢查電話號碼
*
*/
function checkTelePhone(z_check_value){
var z_reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,4}))?$/;
return z_reg.test($.trim(z_check_value));
};
/**
* 檢查僅中文
*
*/
function checkChinese(z_check_value){
var z_reg = /^[\u4E00-\u9FA5\uF900-\uFA2D]+$/;
return z_reg.test($.trim(z_check_value));
};
/**
* 是否爲數字
*
*/
function isNumber(z_check_value){
var z_reg = /^(([0-9])|([1-9]([0-9]+)))$/;
return z_reg.test($.trim(z_check_value));
};
/**
* 是否爲數字組成的字符串,01也符合規則
*
*/
function isNumberText(z_check_value){
var z_reg = /^([0-9]+)$/;
return z_reg.test($.trim(z_check_value));
};
/**
* 可以判斷是否爲數字、金額、浮點數
*
*/
function isFloat(z_check_value){
var z_reg = /^((([0-9])|([1-9][0-9]+))(\.([0-9]+))?)$/;//.是特殊字符,需要轉義
return z_reg.test($.trim(z_check_value));
};