常用的正则表达式验证及函数大全都在这里了,像身份证验证啊、手机号码验证啊、数字验证啊、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); } |
以上是利用正規表示式驗證javascript表單大全的詳細內容。更多資訊請關注PHP中文網其他相關文章!

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器