HTML 表單驗證概述
當前只要稍微規範一些的網站,在提交表單資訊的時候都會進行格式驗證。
比如驗證使用者名稱密碼是否為空、郵箱格式是否正確,或者身份證格式是否規範。
通常表單驗證分為兩層:
(1).前端表單驗證,與使用者有良好的互動介面,但是並不安全,因為JavaScript可以被禁用。
(2).後臺表單驗證,除了前端的驗證以外,為了保證安全,後臺程式碼還會進行一層驗證。
本文並不關心後臺是如何實現驗證的,只介紹前臺實現的驗證功能。
首先看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> function checkForm(form) { let reg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; if(form.username.value == "") { alert("使用者名稱不能為空!"); form.username.focus(); return false; } if(form.password.value == "") { alert("密碼不能為空!"); form.password.focus(); return false; } if(form.email.value==""){ alert("郵箱不能為空!"); form.email.focus(); return false; }else if(!reg.test(form.email.value)){ alert("郵箱格式不正確!"); form.email.focus(); return false; } return true; } window.onload = function () { var myform = document.forms[0]; myform.onsubmit = function () { return checkForm(this); } } </script> </head> <body> <form action="#" method="post"> 姓名:<input type="text" name="username"/><br/> 密碼:<input type="password" name="password" /><br/> 郵箱:<input type="text" name="email" /><br/> <input type="submit" value="提交表單"/> </form> </body> </html>
上述程式碼利用JavaScript實現了表單驗證功能。
程式碼分析如下:
(1).點選提交按鈕之後,會對錶單元素內容進行正確性驗證。
(2).對使用者名稱和密碼進行value是否為空驗證,對郵箱同時進行是否為空和郵箱格式驗證。
HTML5之前,前端表單驗證必須要結合JavaScript,技術的進步通常是為了滿足人懶惰的天性,HTML5也體現了這一點,大量簡單的表單驗證效果是HTML5內建,無需我們書寫JavaScript程式碼。
程式碼演示如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <form action="#" method="post"> 姓名:<input type="text" name="username" required/><br/> 密碼:<input type="password" name="password" required /><br/> 郵箱:<input type="email" name="email" required /><br/> <input type="submit" value="提交表單"/> </form> </body> </html>
上述程式碼沒有一段JavaScript程式碼,但是實現了比較良好的表單驗證功能。
程式碼執行效果截圖如下:
程式碼分析如下:
(1).表單元素value值不為空,那麼只要在對應元素新增required屬性即可。
(2).如果要實現郵箱格式驗證,只要將type屬性值修改為email。
最後總結:
雖然HTML5自帶的表單驗證功能極大提高了工作效率,然而往往免費的東西不是最好的。
所以在一些驗證需求要求較高的情況下,還需要進行自定義。
後續的文章將會對HTML5自帶驗證共和自定義驗證功能進行詳細介紹。
相關文章
- HTML 表單概述HTML
- HTML 互動式表單驗證HTML
- Html form 表單提交前驗證HTMLORM
- HTML5表單資訊驗證工作原理HTML
- JavaScript 表單及表單驗證JavaScript
- bootstrap表單驗證boot
- javascript表單驗證JavaScript
- Laravel 表單驗證Laravel
- JavaScript 表單驗證JavaScript
- Django表單驗證Django
- jquery 表單驗證jQuery
- Js表單驗證JS
- HTML5自帶表單驗證程式碼例項HTML
- 表單required 必需驗證UI
- 表單資料驗證
- bootstrapValidator 表單驗證boot
- 表單驗證——筆記筆記
- angularjs表單驗證AngularJS
- JavaScript表單驗證事件JavaScript事件
- ElementUi rules表單驗證UI
- 表單驗證<AngularJs>AngularJS
- Web 表單驗證 javascriptWebJavaScript
- 利用js編寫一個簡單的html表單驗證,驗證通過時提交資料(附原始碼)JSHTML原始碼
- Lumen 仿 Laravel 表單驗證Laravel
- 前端表單驗證的目的前端
- 表單驗證教程簡介
- Layui 自定義表單驗證UI
- vue表單驗證你真的會了嗎?元件之表單驗證(form)validateVue元件ORM
- iview表單驗證問題 Select驗證必填失敗,以及表單物件巢狀陣列驗證方法View物件巢狀陣列
- elementui表單驗證 對比兩個表單大小UI
- 走進AngularJs(九)表單及表單驗證AngularJS
- Laravel 自定義表單驗證-自定義驗證規則Laravel
- 表單驗證使用擴充套件套件
- 純CSS實現表單驗證CSS
- jQuery表單驗證效果詳解jQuery
- jquery.validate 表單驗證jQuery
- validate表單驗證外掛
- 表單驗證工具類ValidationUtils