JavaScript 基礎(chǔ)表單驗(yàn)證示例(純Js實(shí)現(xiàn))
驗(yàn)證思路
監(jiān)聽(tīng)每個(gè)input控件的焦點(diǎn)離開(kāi)(onblue),當(dāng)焦點(diǎn)離開(kāi)時(shí)調(diào)用驗(yàn)證函數(shù),驗(yàn)證后修改第三欄文字,顯示符合/不符合并返回true/false
實(shí)現(xiàn)代碼:
index.html
<!DOCTYPE html> <html> <head> <title></title> <pnk rel="stylesheet" href="css.css" rel="external nofollow" > </head> <body> <form id="form" action="" method="post" onsubmit="return vipdate()"> <table class="table"> <tr> <td>雇員編號(hào)</td> <td> <input type="text" id="empnb" name="empnb" onblur="vapdateEmpnb()"> </td> <td> <span id="empnbMsg"></span> </td> </tr> <tr> <td>雇員姓名</td> <td> <input type="text" id="ename" name="ename" onblur="vapdateEname()"> </td> <td> <span id="enameMsg"></span> </td> </tr> <tr> <td>雇員職位</td> <td> <input type="text" name="epost" id="epost" onblur="vapdateEpost()"> </td> <td> <span id="epostMsg"></span> </td> </tr> <tr> <td>雇員日期</td> <td> <input type="text" name="" id="edate" name="edate" onblur="vapdateEdate()"> </td> <td> <span id="edateMsg"></span> </td> </tr> <tr> <td>基本工資</td> <td> <input type="text" name="esalary" id="esalary" onblur="vapdateEsalary()"> </td> <td> <span id="esalaryMsg"></span> </td> </tr> <tr> <td>傭金</td> <td> <input type="text" name="ebrok" id="ebrok" onblur="vapdateEbrok()"> </td> <td> <span id="ebrokMsg"></span> </td> </tr> <tr> <td colspan="3"> <input type="submit" autofocus="autofocus"> <input type="reset"> </td> </tr> </table> </form> </body> <script type="text/javascript" src="./FormVapdation.js"></script> </html>
FormVapdation.js
// 日期選擇 function layDate() { } // 驗(yàn)證雇員編號(hào),4位純數(shù)字編號(hào) function vapdateEmpnb() { return vapdateRegexp("empnb", /^\d{4}$/); } // 驗(yàn)證雇員姓名,不為空 function vapdateEname() { return vapdateNull("ename"); } // 驗(yàn)證雇員職位,不為空 function vapdateEpost() { return vapdateNull("epost"); } // 驗(yàn)證雇員日期 function vapdateEdate() { return vapdateRegexp("edate", /^\d{4}-\d{2}-\d{2}$/) } // 驗(yàn)證基本工資 function vapdateEsalary() { return vapdateRegexp("esalary", /^\d+(\.\d{1,2})?$/) } // 驗(yàn)證傭金 function vapdateEbrok() { return vapdateRegexp("ebrok", /^\d+(\.\d{1,2})?$/) } // 提交時(shí)全部重新驗(yàn)證 function vapdate() { return vapdateEmpnb() && vapdateEname() && vapdateEpost() && vapdateEdate() && vapdateEsalary() && vapdateEbrok(); } // 正則表達(dá)式驗(yàn)證 function vapdateRegexp(elemName, regexp) { var elem = document.getElementById(elemName); var msg = document.getElementById(elemName + 'Msg') console.log(regexp); console.log(elem.value); if (regexp.test(elem.value)) { msg.innerHTML = 'ok'; msg.style.color = 'green'; return true; } else { msg.innerHTML = '您的輸入不符合規(guī)則'; msg.style.color = 'red'; return false; } } // 不為空驗(yàn)證 function vapdateNull(elemName) { var elem = document.getElementById(elemName); var msg = document.getElementById(elemName + 'Msg'); console.log(elem.value); console.log(msg); if (elem.value == '' || elem.value == ' ') { msg.innerHTML = '您的輸入不能為空'; msg.style.color = 'red'; return false; } else { msg.innerHTML = 'ok'; msg.style.color = 'green'; return true; } }
css.css
html { font-size: 14px; } .table { border: 1px grey sopd; } .table tr { height: 2rem; } .table td { width: 15rem; }
以上這篇JavaScript 基礎(chǔ)表單驗(yàn)證示例(純Js實(shí)現(xiàn))就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JavaScript表單驗(yàn)證示例詳解
- 原生js實(shí)現(xiàn)表單的正則驗(yàn)證(驗(yàn)證通過(guò)后才可提交)
- 原生js 實(shí)現(xiàn)表單驗(yàn)證功能
- JavaScript實(shí)現(xiàn)表單驗(yàn)證功能
- JS簡(jiǎn)單表單驗(yàn)證功能完整示例
- JavaScript使用表單元素驗(yàn)證表單的示例代碼
- JavaScript實(shí)現(xiàn)表單注冊(cè)、表單驗(yàn)證、運(yùn)算符功能
- JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能完整實(shí)例
- JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能示例
- JavaScript實(shí)現(xiàn)表單驗(yàn)證
相關(guān)文章
只需一行代碼,輕松實(shí)現(xiàn)一個(gè)在線編輯器
在瀏覽器地址欄中輸入一行代碼:data:text/html, <html contenteditable> ,回車(chē)即可把瀏覽器變臨時(shí)編輯器(需要瀏覽器支持 HTML5 屬性 contenteditable)2013-11-11JS+canvas繪制的動(dòng)態(tài)機(jī)械表動(dòng)畫(huà)效果
這篇文章主要介紹了JS+canvas繪制的動(dòng)態(tài)機(jī)械表動(dòng)畫(huà)效果,涉及javascript結(jié)合HTML5 canvas簡(jiǎn)單數(shù)值計(jì)算與動(dòng)態(tài)繪圖相關(guān)操作技巧,需要的朋友可以參考下2017-09-09javascript(js) join函數(shù)使用方法介紹
javascript(js) join函數(shù)使用方法介紹...2007-11-11JavaScript將數(shù)據(jù)轉(zhuǎn)換成整數(shù)的方法
這篇文章主要介紹了JavaScript將數(shù)據(jù)轉(zhuǎn)換成整數(shù)的方法,有需要的朋友可以參考一下2014-01-01解決在layer.open中使用時(shí)間控件laydate失敗的問(wèn)題
今天小編就為大家分享一篇解決在layer.open中使用時(shí)間控件laydate失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09javaScript 連接打印機(jī),打印小票的實(shí)例
下面小編就為大家分享一篇javaScript 鏈接打印機(jī),打印小票的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12JS控制靜態(tài)頁(yè)面?zhèn)鬟f參數(shù)并獲取參數(shù)應(yīng)用
這篇文章主要介紹了JS控制靜態(tài)頁(yè)面?zhèn)鬟f參數(shù)并獲取參數(shù)應(yīng)用的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08