您好,登錄后才能下訂單哦!
開(kāi)發(fā)背景&痛點(diǎn) :
每次寫(xiě)前端的表單的時(shí)候需要對(duì)表單里用戶填寫(xiě)的內(nèi)容進(jìn)行校驗(yàn),減少服務(wù)器壓力,提前對(duì)已知錯(cuò)誤對(duì)用戶提示。每次會(huì)要寫(xiě)很多的if else等等對(duì)輸入框中的內(nèi)容進(jìn)行判斷,并對(duì)為空、格式不正確等情況作出對(duì)應(yīng)提示。
需要寫(xiě)大量重復(fù)的if else語(yǔ)句,實(shí)在太麻煩,所以自己寫(xiě)了這個(gè)框架用于前端參數(shù)的校驗(yàn)。
本框架基于LayUI框架
對(duì)于三種開(kāi)發(fā)者情況:
1、完全不會(huì)LayUI也沒(méi)有任何關(guān)系 在html頭部中添加如下代碼就OK了
<script src="https://www.layuicdn.com/layui/layui.js"></script> <link rel="stylesheet" > <script> var layer=layui.layer; var form=layui.form; layui.use(['layer','form'],function () {}) </script>
2、使用了LayUI框架進(jìn)行開(kāi)發(fā)則無(wú)需做改變
3、使用了其他前端UI框架將源碼中下面語(yǔ)句轉(zhuǎn)換成你的UI框架的提示框即可。
layer.tips(tipname+'不合法('+tiplegal+')',chooser,{ tips: [2, '#FF0000'] })
使用本參數(shù)校驗(yàn)框架需要引入一個(gè)js文件(可以下載到本地使用)
在Html頭部插入如下代碼引入JS
<script src="https://mywarehouse.oss-cn-shenzhen.aliyuncs.com/ParaCheck.js"></script>
使用案例
HTML:
本注冊(cè)頁(yè)面對(duì)應(yīng)JS文件
使用效果
直接點(diǎn)擊注冊(cè)
輸入1后點(diǎn)擊注冊(cè)
API:
核心接口:
1:paraCheck(chooser,name,regex,legal)//單個(gè)輸入框檢查函數(shù),傳入的三個(gè)參數(shù)為,選擇器(#id或者.class)、輸入框名稱(中文意義,比如手機(jī)號(hào)碼)、正則匹配式(比如驗(yàn)證碼輸入框?qū)?yīng)的正則表達(dá)式為/^[0-9]{6}$/)
2:multiParaCheck(choosers,names,regexs,legals)//批量校驗(yàn)函數(shù)
返回值:
1:true 全部通過(guò)校驗(yàn)
2:false 出現(xiàn)未通過(guò)校驗(yàn)的輸入框,實(shí)時(shí)進(jìn)行如上圖對(duì)用戶進(jìn)行提示
備注:第一個(gè)參數(shù)必填,第二、三、四個(gè)參數(shù)選填,建議都傳入,用戶體驗(yàn)感好,如果您不想麻煩,只檢測(cè)是否是空的,那只需要傳入第一個(gè)參數(shù)。
圖中注冊(cè)界面腳本代碼:
(注冊(cè)按鈕onclick="register()")
function register() { var choosers=['#phone','#content','#password','#name','#stuId','#gender','#grade','#major','#classNumber']; var names=['手機(jī)號(hào)碼','短信驗(yàn)證碼','密碼','姓名','學(xué)號(hào)','性別','年級(jí)','專業(yè)','班級(jí)']; var regexs=[/^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\d{8}$/,/^[0-9]{6}$/,/^[0-9a-zA-Z]{8-20}$/,/^[\u4e00-\u9fa5]{2,5}$/,/^2[0-9]{11}$/,/^[男女]$/,/^20[0-9]{2}$/,/^[\u4e00-\u9fa5]{2,10}$/,/^[0-9]{1,2}$/]; var legals=['11位數(shù)字','6位數(shù)字','8-20位數(shù)字、字母','2-5位中文','12位數(shù)字','男|女','4位數(shù)字','2-10位中文','1-2位數(shù)字']; if(multiParaCheck(choosers,names,regexs,legals)) { if ($('#password').val()!=$('#repeatPassword').val()) { layer.tips('兩次密碼輸入不一致','#repeatPassword',{ tips: [2, '#FF0000'] }); return; } var formData=new FormData(); for(var i=0;i<choosers.length;i++) formData.append(choosers[i].replace('#',''),$(choosers[i]).val()); $.ajax({ type: "get", url: "/fpa/member/login", xhrFields: {withCredentials: true}, data: formData, dataType: "text", success: function (data) { layer.alert(data); if (data.indexOf('成功') > -1) window.href.open('/login.html'); } }); } }
總結(jié)
以上所述是小編給大家介紹的學(xué)習(xí)LayUI時(shí)自研的表單參數(shù)校驗(yàn)框架案例分析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。