ホームページ > 記事 > ウェブフロントエンド > 純粋な JavaScript で基本的なフォーム検証を実装するためのコード例
次のエディターは、JavaScript の基本的なフォーム検証の例 (純粋な Js 実装) を提供します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターをフォローして一緒に見てみましょう
検証のアイデア
各入力コントロールのフォーカスの離脱 (onblue) を監視し、フォーカスが離脱したときに検証関数を呼び出し、その後 3 番目の列のテキストを変更します。表示する検証 一致/不一致で true/false を返す
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>雇员编号</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() { } // 验证雇员编号,4位纯数字编号 function vapdateEmpnb() { return vapdateRegexp("empnb", /^\d{4}$/); } // 验证雇员姓名,不为空 function vapdateEname() { return vapdateNull("ename"); } // 验证雇员职位,不为空 function vapdateEpost() { return vapdateNull("epost"); } // 验证雇员日期 function vapdateEdate() { return vapdateRegexp("edate", /^\d{4}-\d{2}-\d{2}$/) } // 验证基本工资 function vapdateEsalary() { return vapdateRegexp("esalary", /^\d+(\.\d{1,2})?$/) } // 验证佣金 function vapdateEbrok() { return vapdateRegexp("ebrok", /^\d+(\.\d{1,2})?$/) } // 提交时全部重新验证 function vapdate() { return vapdateEmpnb() && vapdateEname() && vapdateEpost() && vapdateEdate() && vapdateEsalary() && vapdateEbrok(); } // 正则表达式验证 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 = '您的输入不符合规则'; msg.style.color = 'red'; return false; } } // 不为空验证 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
りー以上が純粋な JavaScript で基本的なフォーム検証を実装するためのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。