jQuery.validator.addMethod(“stringCheck”,
function
(value, element) {
return
this
.optional(element) || /^[u0391-uFFE5w]+$/.test(value);
}, ”只能包括中文字、英文字母、數字和下划線”);
jQuery.validator.addMethod(“byteRangeLength”,
function
(value, element, param) {
var
length = value.length;
for
(
var
i = 0; i < value.length; i++){
if
(value.charCodeAt(i) > 127){
length++;
}
}
return
this
.optional(element) || ( length >= param[0]&&length <= param[1] );
}, ”請確保輸入的值在3-15個字節之間(一個中文字算2個字節)”);
jQuery.validator.addMethod(“isIdCardNo”,
function
(value, element) {
return
this
.optional(element) || isIdCardNo(value);
}, ”請正確輸入您的身份證號碼”);
jQuery.validator.addMethod(“isMobile”,
function
(value, element) {
var
length = value.length;
var
mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;
return
this
.optional(element) || (length == 11 && mobile.test(value));
}, ”請正確填寫您的手機號碼”);
jQuery.validator.addMethod(“isTel”,
function
(value, element) {
var
tel = /^d{3,4}-?d{7,9}$/;
return
this
.optional(element) || (tel.test(value));
}, ”請正確填寫您的電話號碼”);
jQuery.validator.addMethod(“isPhone”,
function
(value,element) {
var
length = value.length;
var
mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;
var
tel = /^d{3,4}-?d{7,9}$/;
return
this
.optional(element) || (tel.test(value) || mobile.test(value));
}, ”請正確填寫您的聯系電話”);
jQuery.validator.addMethod(“isZipCode”,
function
(value, element) {
var
tel = /^[0-9]{6}$/;
return
this
.optional(element) || (tel.test(value));
}, ”請正確填寫您的郵政編碼”);
function
isIdCardNo(num) {
var
factorArr =
new
Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var
parityBit=
new
Array(“1″,”0″,”X”,”9″,”8″,”7″,”6″,”5″,”4″,”3″,”2″);
var
varArray =
new
Array();
var
intValue;
var
lngProduct = 0;
var
intCheckDigit;
var
intStrLen = num.length;
var
idNumber = num;
if
((intStrLen != 15) && (intStrLen != 18)) {
return
false
;
}
for
(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if
((varArray[i] <
'0′ || varArray[i] > '
9′) && (i != 17)) {
return
false
;
}
else
if
(i < 17) {
varArray[i] = varArray[i] * factorArr[i];
}
}
if
(intStrLen == 18) {
var
date8 = idNumber.substring(6,14);
if
(isDate8(date8) ==
false
) {
return
false
;
}
for
(i=0;i<17;i++) {
lngProduct = lngProduct + varArray[i];
}
intCheckDigit = parityBit[lngProduct % 11];
if
(varArray[17] != intCheckDigit) {
return
false
;
}
}
else
{
var
date6 = idNumber.substring(6,12);
if
(isDate6(date6) ==
false
) {
return
false
;
}
}
return
true
;
}
function
isDate6(sDate) {
if
(!/^[0-9]{6}$/.test(sDate)) {
return
false
;
}
var
year, month, day;
year = sDate.substring(0, 4);
month = sDate.substring(4, 6);
if
(year < 1700 || year > 2500)
return
false
if
(month < 1 || month > 12)
return
false
return
true
}
function
isDate8(sDate) {
if
(!/^[0-9]{8}$/.test(sDate)) {
return
false
;
}
var
year, month, day;
year = sDate.substring(0, 4);
month = sDate.substring(4, 6);
day = sDate.substring(6, 8);
var
iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
if
(year < 1700 || year > 2500)
return
false
if
(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if
(month < 1 || month > 12)
return
false
if
(day < 1 || day > iaMonthDays[month - 1])
return
false
return
true
}
jQuery.validator.addMethod(“idcardno”,
function
(value, element) {
return
this
.optional(element) || isIdCardNo(value);
}, “請正確輸入身份證號碼”);
jQuery.validator.addMethod(“alnum”,
function
(value, element) {
return
this
.optional(element) || /^[a-zA-Z0-9]+$/.test(value);
}, “只能包括英文字母和數字”);
jQuery.validator.addMethod(“zipcode”,
function
(value, element) {
var
tel = /^[0-9]{6}$/;
return
this
.optional(element) || (tel.test(value));
}, “請正確填寫郵政編碼”);
jQuery.validator.addMethod(“chcharacter”,
function
(value, element) {
var
tel = /^[u4e00-u9fa5]+$/;
return
this
.optional(element) || (tel.test(value));
}, “請輸入漢字”);
jQuery.validator.addMethod(“stringMinLength”,
function
(value, element, param) {
var
length = value.length;
for
(
var
i = 0; i < value.length; i++) {
if
(value.charCodeAt(i) > 127) {
length++;
}
}
return
this
.optional(element) || (length >= param);
}, $.validator.format(“長度不能小於{0}!”));
jQuery.validator.addMethod(“stringMaxLength”,
function
(value, element, param) {
var
length = value.length;
for
(
var
i = 0; i < value.length; i++) {
if
(value.charCodeAt(i) > 127) {
length++;
}
}
return
this
.optional(element) || (length <= param);
}, $.validator.format(“長度不能大於{0}!”));
jQuery.validator.addMethod(“string”,
function
(value, element) {
return
this
.optional(element) || /^[u0391-uFFE5w]+$/.test(value);
}, “不允許包含特殊符號!”);
jQuery.validator.addMethod(“mobile”,
function
(value, element) {
var
length = value.length;
return
this
.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/.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(“zipCode”,
function
(value, element) {
var
tel = /^[0-9]{6}$/;
return
this
.optional(element) || (tel.test(value));
}, “郵政編碼格式錯誤!”);
jQuery.validator.addMethod(“begin”,
function
(value, element, param) {
var
begin =
new
RegExp(“^” + param);
return
this
.optional(element) || (begin.test(value));
}, $.validator.format(“必須以 {0} 開頭!”));
jQuery.validator.addMethod(“notEqualTo”,
function
(value, element, param) {
return
value != $(param).val();
}, $.validator.format(“兩次輸入不能相同!”));
jQuery.validator.addMethod(“notEqual”,
function
(value, element, param) {
return
value != param;
}, $.validator.format(“輸入值不允許為{0}!”));
jQuery.validator.addMethod(“gt”,
function
(value, element, param) {
return
value > param;
}, $.validator.format(“輸入值必須大於{0}!”))
;
jQuery.validator.addMethod(“stringCheck”,
function
(value, element) {
return
this
.optional(element) || /^[u0391-uFFE5w]+$/.test(value);
}, ”只能包括中文字、英文字母、數字和下划線”);
jQuery.validator.addMethod(“byteRangeLength”,
function
(value, element, param) {
var
length = value.length;
for
(
var
i = 0; i < value.length; i++){
if
(value.charCodeAt(i) > 127){
length++;
}
}
return
this
.optional(element) || ( length >= param[0]&&length <= param[1] );
}, ”請確保輸入的值在3-15個字節之間(一個中文字算2個字節)”);
jQuery.validator.addMethod(“isIdCardNo”,
function
(value, element) {
return
this
.optional(element) || isIdCardNo(value);
}, ”請正確輸入您的身份證號碼”);
jQuery.validator.addMethod(“isMobile”,
function
(value, element) {
var
length = value.length;
var
mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;
return
this
.optional(element) || (length == 11 && mobile.test(value));
}, ”請正確填寫您的手機號碼”);
jQuery.validator.addMethod(“isTel”,
function
(value, element) {
var
tel = /^d{3,4}-?d{7,9}$/;
return
this
.optional(element) || (tel.test(value));
}, ”請正確填寫您的電話號碼”);
jQuery.validator.addMethod(“isPhone”,
function
(value,element) {
var
length = value.length;
var
mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;
var
tel = /^d{3,4}-?d{7,9}$/;
return
this
.optional(element) || (tel.test(value) || mobile.test(value));
}, ”請正確填寫您的聯系電話”);
jQuery.validator.addMethod(“isZipCode”,
function
(value, element) {
var
tel = /^[0-9]{6}$/;
return
this
.optional(element) || (tel.test(value));
}, ”請正確填寫您的郵政編碼”);
function
isIdCardNo(num) {
var
factorArr =
new
Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var
parityBit=
new
Array(“1″,”0″,”X”,”9″,”8″,”7″,”6″,”5″,”4″,”3″,”2″);
var
varArray =
new
Array();
var
intValue;
var
lngProduct = 0;
var
intCheckDigit;
var
intStrLen = num.length;
var
idNumber = num;
if
((intStrLen != 15) && (intStrLen != 18)) {
return
false
;
}
for
(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if
((varArray[i] <
'0′ || varArray[i] > '
9′) && (i != 17)) {
return
false
;
}
else
if
(i < 17) {
varArray[i] = varArray[i] * factorArr[i];
}
}
if
(intStrLen == 18) {
var
date8 = idNumber.substring(6,14);
if
(isDate8(date8) ==
false
) {
return
false
;
}
for
(i=0;i<17;i++) {
lngProduct = lngProduct + varArray[i];
}
intCheckDigit = parityBit[lngProduct % 11];
if
(varArray[17] != intCheckDigit) {
return
false
;
}
}
else
{
var
date6 = idNumber.substring(6,12);
if
(isDate6(date6) ==
false
) {
return
false
;
}
}
return
true
;
}
function
isDate6(sDate) {
if
(!/^[0-9]{6}$/.test(sDate)) {
return
false
;
}
var
year, month, day;
year = sDate.substring(0, 4);
month = sDate.substring(4, 6);
if
(year < 1700 || year > 2500)
return
false
if
(month < 1 || month > 12)
return
false
return
true
}
function
isDate8(sDate) {
if
(!/^[0-9]{8}$/.test(sDate)) {
return
false
;
}
var
year, month, day;
year = sDate.substring(0, 4);
month = sDate.substring(4, 6);
day = sDate.substring(6, 8);
var
iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
if
(year < 1700 || year > 2500)
return
false
if
(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if
(month < 1 || month > 12)
return
false
if
(day < 1 || day > iaMonthDays[month - 1])
return
false
return
true
}
jQuery.validator.addMethod(“idcardno”,
function
(value, element) {
return
this
.optional(element) || isIdCardNo(value);
}, “請正確輸入身份證號碼”);
jQuery.validator.addMethod(“alnum”,
function
(value, element) {
return
this
.optional(element) || /^[a-zA-Z0-9]+$/.test(value);
}, “只能包括英文字母和數字”);
jQuery.validator.addMethod(“zipcode”,
function
(value, element) {
var
tel = /^[0-9]{6}$/;
return
this
.optional(element) || (tel.test(value));
}, “請正確填寫郵政編碼”);
jQuery.validator.addMethod(“chcharacter”,
function
(value, element) {
var
tel = /^[u4e00-u9fa5]+$/;
return
this
.optional(element) || (tel.test(value));
}, “請輸入漢字”);
jQuery.validator.addMethod(“stringMinLength”,
function
(value, element, param) {
var
length = value.length;
for
(
var
i = 0; i < value.length; i++) {
if
(value.charCodeAt(i) > 127) {
length++;
}
}
return
this
.optional(element) || (length >= param);
}, $.validator.format(“長度不能小於{0}!”));
jQuery.validator.addMethod(“stringMaxLength”,
function
(value, element, param) {
var
length = value.length;
for
(
var
i = 0; i < value.length; i++) {
if
(value.charCodeAt(i) > 127) {
length++;
}
}
return
this
.optional(element) || (length <= param);
}, $.validator.format(“長度不能大於{0}!”));
jQuery.validator.addMethod(“string”,
function
(value, element) {
return
this
.optional(element) || /^[u0391-uFFE5w]+$/.test(value);
}, “不允許包含特殊符號!”);
jQuery.validator.addMethod(“mobile”,
function
(value, element) {
var
length = value.length;
return
this
.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/.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(“zipCode”,
function
(value, element) {
var
tel = /^[0-9]{6}$/;
return
this
.optional(element) || (tel.test(value));
}, “郵政編碼格式錯誤!”);
jQuery.validator.addMethod(“begin”,
function
(value, element, param) {
var
begin =
new
RegExp(“^” + param);
return
this
.optional(element) || (begin.test(value));
}, $.validator.format(“必須以 {0} 開頭!”));
jQuery.validator.addMethod(“notEqualTo”,
function
(value, element, param) {
return
value != $(param).val();
}, $.validator.format(“兩次輸入不能相同!”));
jQuery.validator.addMethod(“notEqual”,
function
(value, element, param) {
return
value != param;
}, $.validator.format(“輸入值不允許為{0}!”));
jQuery.validator.addMethod(“gt”,
function
(value, element, param) {
return
value > param;
}, $.validator.format(“輸入值必須大於{0}!”))
;