Home >Web Front-end >JS Tutorial >Using regular expressions to validate javascript forms
常用的正则表达式验证及函数大全都在这里了,像身份证验证啊、手机号码验证啊、数字验证啊、Email验证,找找看吧。 /* 表单验证使用实例! */ //获取Request notnull function isRequestNotNull(obj) { obj = $.trim(obj); if (obj.length == 0 || obj == null || obj == undefined) { return true; } else return false; } //验证不为空 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 function isNatInteger(obj) { reg = /^([1-9]\d*(\.\d+)?|0)$/; 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; // if (!reg.test(obj)) { // 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; } //reg = /^[A-Za-z0-9\u0391-\uFFE5]+$/; obj = $.trim(obj); if (obj.length > n) return false; // if (!reg.test(obj)) { // return false; // } else { // return true; // } 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 CheckDataValid(id) { if (!JudgeValidate(id)) { return false; } else { return true; } } //验证脚本 //obj为当前input所在的空间容器 (例如:p,Panel) //脚本中 checkvalue 验证函数 err 属性表示提示【中文名称】 function JudgeValidate(obj) { var Validatemsg = ""; var Validateflag = true; $(obj).find("[datacol=yes]").each(function () { if ($(this).attr("checkexpession") != undefined) { var value = $(this).val(); if (value == "==请选择==") { value = ""; } switch ($(this).attr("checkexpession")) { case "default": { if (isNotNull(value)) { Validatemsg = $(this).attr("err") + "\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "NotNull": { if (isNotNull(value)) { Validatemsg = $(this).attr("err") + "不能为空!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Num": { if (!isInteger(value)) { Validatemsg = $(this).attr("err") + "必须为数字!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "NumNat": { if (!isNatInteger(value)) { Validatemsg = $(this).attr("err") + "必须大于等于0!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "NumOrNull": { if (!isIntegerOrNull(value)) { Validatemsg = $(this).attr("err") + "必须为数字!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Email": { if (!isEmail(value)) { Validatemsg = $(this).attr("err") + "必须为E-mail格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "EmailOrNull": { if (!isEmailOrNull(value)) { Validatemsg = $(this).attr("err") + "必须为E-mail格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "EnglishStr": { if (!isEnglishStr(value)) { Validatemsg = $(this).attr("err") + "必须为字符串!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "EnglishStrOrNull": { if (!isEnglishStrOrNull(value)) { Validatemsg = $(this).attr("err") + "必须为字符串!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "LenNum": { if (!isLenNum(value, $(this).attr("length"))) { Validatemsg = $(this).attr("err") + "必须为" + $(this).attr("length") + "位数字!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "LenNumOrNull": { if (!isLenNumOrNull(value, $(this).attr("length"))) { Validatemsg = $(this).attr("err") + "必须为" + $(this).attr("length") + "位数字!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "LenStr": { if (!isLenStr(value, $(this).attr("length"))) { Validatemsg = $(this).attr("err") + "必须小于" + $(this).attr("length") + "位字符!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "LenStrOrNull": { if (!isLenStrOrNull(value, $(this).attr("length"))) { Validatemsg = $(this).attr("err") + "必须小于" + $(this).attr("length") + "位字符!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Phone": { if (!isTelephone(value)) { Validatemsg = $(this).attr("err") + "必须电话格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Fax": { if (!isTelephoneOrNull(value)) { Validatemsg = $(this).attr("err") + "必须为传真格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "PhoneOrNull": { if (!isTelephoneOrNull(value)) { Validatemsg = $(this).attr("err") + "必须电话格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Mobile": { if (!isMobile(value)) { Validatemsg = $(this).attr("err") + "必须为手机格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "MobileOrNull": { if (!isMobileOrnull(value)) { Validatemsg = $(this).attr("err") + "必须为手机格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "MobileOrPhone": { if (!isMobileOrPhone(value)) { Validatemsg = $(this).attr("err") + "必须为电话格式或手机格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "MobileOrPhoneOrNull": { if (!isMobileOrPhoneOrNull(value)) { Validatemsg = $(this).attr("err") + "必须为电话格式或手机格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Uri": { if (!isUri(value)) { Validatemsg = $(this).attr("err") + "必须为网址格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "UriOrNull": { if (!isUriOrnull(value)) { Validatemsg = $(this).attr("err") + "必须为网址格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Equal": { if (!isEqual(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "不相等!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Date": { if (!isDate(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为日期格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "DateOrNull": { if (!isDateOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为日期格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "DateTime": { if (!isDateTime(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为日期时间格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "DateTimeOrNull": { if (!isDateTimeOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为日期时间格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Time": { if (!isTime(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为时间格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "TimeOrNull": { if (!isTimeOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为时间格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "ChineseStr": { if (!isChinese(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为中文!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "ChineseStrOrNull": { if (!isChineseOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为中文!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Zip": { if (!isZip(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为邮编格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "ZipOrNull": { if (!isZipOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为邮编格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "Double": { if (!isDouble(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为小数!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "DoubleOrNull": { if (!isDoubleOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为小数!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "IDCard": { if (!isIDCard(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为身份证格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "IDCardOrNull": { if (!isIDCardOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为身份证格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "RequestNotNull": { if (isNotNull(value)) { Validatemsg = $(this).attr("err") + "!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "IsExist": { Validatemsg = $(this).attr("err") + "!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; break; } case "IsIP": { if (!isIP(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为IP格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } case "IPOrNull": { if (!isIPOrNullOrNull(value, $(this).attr("eqvalue"))) { Validatemsg = $(this).attr("err") + "必须为IP格式!\n"; Validateflag = false; tipCss($(this), Validatemsg); return false; } break; } default: break; } } }); if (Validatemsg.length > 0) { return Validateflag; } return Validateflag; } //提示信息 function tipCss(obj, Validatemsg) { var Isrequired = false; if ($('#message').length > 0) { $('#message').html(""); $("#message").html("<p class=\"note-error\"><p class=\"note-icon-error\"></p><p class=\"note-text\">" + Validatemsg + "</p></p>").slideDown('fast'); } else { top.TipMsg(Validatemsg, 5000, 'error'); } $(obj).focus(); if ($(obj).attr('class') == 'txt' || $(obj).attr('class') == 'txt required' || $(obj).attr('class') == 'txt icontree') { if ($(obj).hasClass('required')) { Isrequired = true; } $(obj).addClass("warning"); $(obj).parent().addClass('tdwarning'); $(obj).removeClass("required"); } $(obj).change(function () { if ($(obj).val() != "") { if ($(obj).attr('type') == 'text' || $(obj).attr('type') == 'password') { $(obj).removeClass("warning"); $(obj).parent().removeClass('tdwarning'); if (Isrequired) { $(obj).addClass("required"); } } $('#message').slideUp(300); } }); window.setTimeout(docBubbleremove, 5000); return false; } function docBubbleremove() { $('#message').slideUp(300); } |
The above is the detailed content of Using regular expressions to validate javascript forms. For more information, please follow other related articles on the PHP Chinese website!