jquery表单验证源码
/**
數據驗證完整性
**/
$.fn.Validform = function () {
??? var Validatemsg = "";
??? var Validateflag = true;
??? $(this).find("[isvalid=yes]").each(function () {
??????? var checkexpession = $(this).attr("checkexpession");
??????? var errormsg = $(this).attr("errormsg");
??????? if (checkexpession != undefined) {
??????????? if (errormsg == undefined) {
??????????????? errormsg = "";
??????????? }
??????????? var value = $(this).val();
??????????? if ($(this).hasClass('ui-select')) {
??????????????? value = $(this).attr('data-value');
??????????? }
??????????? switch (checkexpession) {
??????????????? case "NotNull":
??????????????????? {
??????????????????????? if (isNotNull(value)) {
??????????????????????????? Validatemsg = errormsg + "不能為空!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Num":
??????????????????? {
??????????????????????? if (!isInteger(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為數字!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "NumOrNull":
??????????????????? {
??????????????????????? if (!isIntegerOrNull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為數字!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Email":
??????????????????? {
??????????????????????? if (!isEmail(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為E-mail格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "EmailOrNull":
??????????????????? {
??????????????????????? if (!isEmailOrNull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為E-mail格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "EnglishStr":
??????????????????? {
??????????????????????? if (!isEnglishStr(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為字符串!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "EnglishStrOrNull":
??????????????????? {
??????????????????????? if (!isEnglishStrOrNull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為字符串!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "LenNum":
??????????????????? {
??????????????????????? if (!isLenNum(value, $(this).attr("length"))) {
??????????????????????????? Validatemsg = errormsg + "必須為" + $(this).attr("length") + "位數字!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "LenNumOrNull":
??????????????????? {
??????????????????????? if (!isLenNumOrNull(value, $(this).attr("length"))) {
??????????????????????????? Validatemsg = errormsg + "必須為" + $(this).attr("length") + "位數字!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "LenStr":
??????????????????? {
??????????????????????? if (!isLenStr(value, $(this).attr("length"))) {
??????????????????????????? Validatemsg = errormsg + "必須小于" + $(this).attr("length") + "位字符!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "LenStrOrNull":
??????????????????? {
??????????????????????? if (!isLenStrOrNull(value, $(this).attr("length"))) {
??????????????????????????? Validatemsg = errormsg + "必須小于" + $(this).attr("length") + "位字符!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Phone":
??????????????????? {
??????????????????????? if (!isTelephone(value)) {
??????????????????????????? Validatemsg = errormsg + "必須電話格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "PhoneOrNull":
??????????????????? {
??????????????????????? if (!isTelephoneOrNull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須電話格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Fax":
??????????????????? {
??????????????????????? if (!isTelephoneOrNull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為傳真格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Mobile":
??????????????????? {
??????????????????????? if (!isMobile(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為手機格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "MobileOrNull":
??????????????????? {
??????????????????????? if (!isMobileOrnull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為手機格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "MobileOrPhone":
??????????????????? {
??????????????????????? if (!isMobileOrPhone(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為電話格式或手機格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "MobileOrPhoneOrNull":
??????????????????? {
??????????????????????? if (!isMobileOrPhoneOrNull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為電話格式或手機格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Uri":
??????????????????? {
??????????????????????? if (!isUri(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為網址格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "UriOrNull":
??????????????????? {
??????????????????????? if (!isUriOrnull(value)) {
??????????????????????????? Validatemsg = errormsg + "必須為網址格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Equal":
??????????????????? {
??????????????????????? if (!isEqual(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "不相等!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Date":
??????????????????? {
??????????????????????? if (!isDate(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為日期格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "DateOrNull":
??????????????????? {
??????????????????????? if (!isDateOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為日期格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "DateTime":
??????????????????? {
??????????????????????? if (!isDateTime(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為日期時間格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "DateTimeOrNull":
??????????????????? {
??????????????????????? if (!isDateTimeOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為日期時間格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Time":
??????????????????? {
??????????????????????? if (!isTime(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為時間格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "TimeOrNull":
??????????????????? {
??????????????????????? if (!isTimeOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為時間格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "ChineseStr":
??????????????????? {
??????????????????????? if (!isChinese(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為中文!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "ChineseStrOrNull":
??????????????????? {
??????????????????????? if (!isChineseOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為中文!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Zip":
??????????????????? {
??????????????????????? if (!isZip(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為郵編格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "ZipOrNull":
??????????????????? {
??????????????????????? if (!isZipOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為郵編格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "Double":
??????????????????? {
??????????????????????? if (!isDouble(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為小數!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "DoubleOrNull":
??????????????????? {
??????????????????????? if (!isDoubleOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為小數!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "IDCard":
??????????????????? {
??????????????????????? if (!isIDCard(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為身份證格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "IDCardOrNull":
??????????????????? {
??????????????????????? if (!isIDCardOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為身份證格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "IsIP":
??????????????????? {
??????????????????????? if (!isIP(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為IP格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? case "IPOrNull":
??????????????????? {
??????????????????????? if (!isIPOrNullOrNull(value, $(this).attr("eqvalue"))) {
??????????????????????????? Validatemsg = errormsg + "必須為IP格式!\n";
??????????????????????????? Validateflag = false;
??????????????????????????? ValidationMessage($(this), Validatemsg); return false;
??????????????????????? }
??????????????????????? break;
??????????????????? }
??????????????? default:
??????????????????? break;
??????????? }
??????? }
??? });
??? if ($(this).find("[fieldexist=yes]").length > 0) {
??????? return false;
??? }
??? return Validateflag;
??? //驗證不為空 notnull
??? function isNotNull(obj) {
??????? obj = $.trim(obj);
??????? if (obj.length == 0 || obj == null || obj == undefined) {
??????????? return true;
??????? }
??????? else
??????????? return false;
??? }
??? //驗證數字 num
??? function isInteger(obj) {
??????? reg = /^[-+]?\d+$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證數字 num? 或者null,空
??? function isIntegerOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^[-+]?\d+$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //Email驗證 email
??? function isEmail(obj) {
??????? reg = /^\w{3,}@\w+(\.\w+)+$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //Email驗證 email?? 或者null,空
??? function isEmailOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^\w{3,}@\w+(\.\w+)+$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證只能輸入英文字符串 echar
??? function isEnglishStr(obj) {
??????? reg = /^[a-z,A-Z]+$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證只能輸入英文字符串 echar 或者null,空
??? function isEnglishStrOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^[a-z,A-Z]+$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否是n位數字字符串編號 nnum
??? function isLenNum(obj, n) {
??????? reg = /^[0-9]+$/;
??????? obj = $.trim(obj);
??????? if (obj.length > n)
??????????? return false;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否是n位數字字符串編號 nnum或者null,空
??? function isLenNumOrNull(obj, n) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^[0-9]+$/;
??????? obj = $.trim(obj);
??????? if (obj.length > n)
??????????? return false;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否小于等于n位數的字符串 nchar
??? function isLenStr(obj, n) {
??????? //reg = /^[A-Za-z0-9\u0391-\uFFE5]+$/;
??????? obj = $.trim(obj);
??????? if (obj.length == 0 || obj.length > n)
??????????? return false;
??????? else
??????????? return true;
??? }
??? //驗證是否小于等于n位數的字符串 nchar或者null,空
??? function isLenStrOrNull(obj, n) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? obj = $.trim(obj);
??????? if (obj.length > n)
??????????? return false;
??????? else
??????????? return true;
??? }
??? //驗證是否電話號碼 phone
??? function isTelephone(obj) {
??????? reg = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否電話號碼 phone或者null,空
??? function isTelephoneOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否手機號 mobile
??? function isMobile(obj) {
??????? reg = /^(\+\d{2,3}\-)?\d{11}$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否手機號 mobile或者null,空
??? function isMobileOrnull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^(\+\d{2,3}\-)?\d{11}$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否手機號或電話號碼 mobile phone
??? function isMobileOrPhone(obj) {
??????? reg_mobile = /^(\+\d{2,3}\-)?\d{11}$/;
??????? reg_phone = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
??????? if (!reg_mobile.test(obj) && !reg_phone.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證是否手機號或電話號碼 mobile phone或者null,空
??? function isMobileOrPhoneOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^(\+\d{2,3}\-)?\d{11}$/;
??????? reg2 = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
??????? if (!reg.test(obj) && !reg2.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證網址 uri
??? function isUri(obj) {
??????? reg = /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證網址 uri或者null,空
??? function isUriOrnull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? reg = /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
??????? if (!reg.test(obj)) {
??????????? return false;
??????? } else {
??????????? return true;
??????? }
??? }
??? //驗證兩個值是否相等 equals
??? function isEqual(obj1, controlObj) {
??????? if (obj1.length != 0 && controlObj.length != 0) {
??????????? if (obj1 == controlObj)
??????????????? return true;
??????????? else
??????????????? return false;
??????? }
??????? else
??????????? return false;
??? }
??? //判斷日期類型是否為YYYY-MM-DD格式的類型 date
??? function isDate(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷日期類型是否為YYYY-MM-DD格式的類型 date或者null,空
??? function isDateOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷日期類型是否為YYYY-MM-DD hh:mm:ss格式的類型 datetime
??? function isDateTime(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷日期類型是否為YYYY-MM-DD hh:mm:ss格式的類型 datetime或者null,空
??? function isDateTimeOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷日期類型是否為hh:mm:ss格式的類型 time
??? function isTime(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷日期類型是否為hh:mm:ss格式的類型 time或者null,空
??? function isTimeOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷輸入的字符是否為中文 cchar
??? function isChinese(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^[\u0391-\uFFE5]+$/;
??????????? if (!reg.test(str)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷輸入的字符是否為中文 cchar或者null,空
??? function isChineseOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^[\u0391-\uFFE5]+$/;
??????????? if (!reg.test(str)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷輸入的郵編(只能為六位)是否正確 zip
??? function isZip(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^\d{6}$/;
??????????? if (!reg.test(str)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷輸入的郵編(只能為六位)是否正確 zip或者null,空
??? function isZipOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^\d{6}$/;
??????????? if (!reg.test(str)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷輸入的字符是否為雙精度 double
??? function isDouble(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^[-\+]?\d+(\.\d+)?$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷輸入的字符是否為雙精度 double或者null,空
??? function isDoubleOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^[-\+]?\d+(\.\d+)?$/;
??????????? if (!reg.test(obj)) {
??????????????? return false;
??????????? }
??????????? else {
??????????????? return true;
??????????? }
??????? }
??? }
??? //判斷是否為身份證 idcard
??? function isIDCard(obj) {
??????? if (obj.length != 0) {
??????????? reg = /^\d{15}(\d{2}[A-Za-z0-9;])?$/;
??????????? if (!reg.test(obj))
??????????????? return false;
??????????? else
??????????????? return true;
??????? }
??? }
??? //判斷是否為身份證 idcard或者null,空
??? function isIDCardOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? if (obj.length != 0) {
??????????? reg = /^\d{15}(\d{2}[A-Za-z0-9;])?$/;
??????????? if (!reg.test(obj))
??????????????? return false;
??????????? else
??????????????? return true;
??????? }
??? }
??? //判斷是否為IP地址格式
??? function isIP(obj) {
??????? var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正則表達式
??????? if (re.test(obj)) {
??????????? if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
??????? }
??????? return false;
??? }
??? //判斷是否為IP地址格式 或者null,空
??? function isIPOrNull(obj) {
??????? var controlObj = $.trim(obj);
??????? if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
??????????? return true;
??????? }
??????? var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正則表達式
??????? if (re.test(obj)) {
??????????? if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
??????? }
??????? return false;
??? }
}
//提示信息
function ValidationMessage(obj, Validatemsg) {
??? try {
??????? removeMessage(obj);
??????? obj.focus();
??????? var $poptip_error = $('<div class="poptip"><span class="poptip-arrow poptip-arrow-top"><em>◆</em></span>' + Validatemsg + '</div>').css("left", obj.offset().left + 'px').css("top", obj.offset().top + obj.parent().height() + 5 + 'px')
??????? $('body').append($poptip_error);
??????? if (obj.hasClass('form-control') || obj.hasClass('ui-select')) {
??????????? obj.parent().addClass('has-error');
??????? }
??????? if (obj.hasClass('ui-select')) {
??????????? $('.input-error').remove();
??????? }
??????? obj.change(function () {
??????????? if (obj.val()) {
??????????????? removeMessage(obj);
??????????? }
??????? });
??????? if (obj.hasClass('ui-select')) {
??????????? $(document).click(function (e) {
??????????????? if (obj.attr('data-value')) {
??????????????????? removeMessage(obj);
??????????????? }
??????????????? e.stopPropagation();
??????????? });
??????? }
??????? return false;?
??? } catch (e) {
??????? alert(e)
??? }
}
//移除提示
function removeMessage(obj) {
??? obj.parent().removeClass('has-error');
??? $('.poptip').remove();
??? $('.input-error').remove();
}
//分割線//
//如何使用
<script>
??? function aSubmit() {
??????? if (!$('#form').Validform()) {
??????????? return false;
??????? }
??? }
</script>
<div οnclick="aSubmit()">提交驗證</div>
<div id="form">
?? <table>
?????? <tr>
?????????? <th>用戶名:</th>
?????????? <td>
?????????????? <input id="uname" type="text" isvalid="yes" checkexpession="NotNull" />
?????????? </td>
?????? </tr>
?????? <tr>
?????????? <th>余額:</th>
?????????? <td>
?????????????? <input id="uname" type="text" isvalid="yes" checkexpession="Num" />
?????????? </td>
?????? </tr>
?? </table>
</div>
//注解:(isvalid="yes"? 是否開啟驗證)(checkexpession="Num"? 必須為數字)
//? Validform()???? 引用驗證
?
轉載于:https://www.cnblogs.com/BingLiVIP/p/7465871.html
總結
以上是生活随笔為你收集整理的jquery表单验证源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [改善Java代码]非稳定排序推荐使用L
- 下一篇: ★教师工资为什么这么低?