HTML 程式札記 : <form> 表單與表單驗證

閱讀時間約 6 分鐘

HTML 表單扮演著收集用戶資訊的重要角色。無論是登入頁面、註冊表、問卷調查,或是任何需要用戶輸入的場景,都離不開 HTML 表單。本文將帶你快速了解 HTML 表單的基礎知識,包括表單的結構、元素及其驗證方式。

HTML 表單基礎

HTML表單(Form)是一種包含表單元素的容器,用於向伺服器傳送數據。它通常包括輸入欄位(input)、選項按鈕(radio buttons)、複選框(checkboxes)、下拉菜單(select boxes)等元素。

表單標籤

一個基本的HTML表單是由<form>標籤定義的。這個標籤可以設定不同的屬性,如action(表單數據要發送到的地方)和method(數據發送方式,通常是GET或POST)。

<form action="submit_form.php" method="post">
<!-- 表單元素將在此處添加 -->
</form>

輸入欄位

輸入欄位是表單中最常用的元素之一,用於收集用戶輸入的數據。<input>標籤有多種類型,如textpasswordsubmit等。

<input type="text" name="username" placeholder="請輸入用戶名">
<input type="password" name="password" placeholder="請輸入密碼">
<input type="submit" value="提交">

選擇框和複選框

選擇框和複選框提供了選擇選項的功能。它們通常用於提交選擇性問題的答案。

<!-- 選擇框 -->
<input type="radio" name="gender" value="male">
<input type="radio" name="gender" value="female">

<!-- 複選框 -->
<input type="checkbox" name="hobby" value="reading"> 閱讀
<input type="checkbox" name="hobby" value="sports"> 運動

下拉選單

下拉選單(Select Box)允許用戶從多個選項中選擇一個。它由<select>標籤和嵌套的<option>標籤組成。

<select name="country">
<option value="china">中國</option>
<option value="usa">美國</option>
<option value="japan">日本</option>
</select>

表單驗證

HTML 提供了多種表單元素的驗證屬性,讓開發者可以快速實現基本的驗證。

必填(required)

required 屬性用於指定某個表單元素為必填項。例如,要求用戶填寫他們的名字,當表單提交時,如果該欄位為空,瀏覽器會自動提示用戶填寫。

<label for="name">名字:</label>
<input type="text" id="name" name="name" required>

類型驗證(type)

HTML 讓<input>元素支援多種類型,如emailnumber等,這些類型自帶格式驗證。例如,電子郵件地址的驗證,如果用戶輸入的不是有效的電子郵件格式,瀏覽器會提示錯誤。

<label for="email">電子郵件:</label>
<input type="email" id="email" name="email">

長度限制(minlength 和 maxlength)

這兩個屬性用於限制文字輸入的最小和最大長度。例如,設定密碼長度限制。

<label for="password">密碼(6-12位):</label>
<input type="password" id="password" name="password" minlength="6" maxlength="12">

正則表達式(pattern)

pattern 屬性允許我們使用正則表達式來定義輸入格式。例如,驗證用戶名只能包含字母和數字。

<label for="username">用戶名:</label>
<input type="text" id="username" name="username" pattern="[A-Za-z0-9]+">

自定義驗證消息(title)

結合title屬性,我們可以為輸入欄位提供自定義的驗證錯誤消息。例如,當輸入不符合正則表達式時,title中的文字將作為錯誤提示顯示給用戶。

<input type="text" pattern="\d+" title="請輸入數字">

😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡

60會員
91內容數
「梧笙」即「吾生」,意即我的生命,朋友都叫我「阿梧(Awu)」,高雄人。我喜歡學習新技能,從程式設計到網路工具,再到社群經營和影片剪輯。日常興趣是打遊戲、看動漫、讀小說和聽音樂。我會把這些興趣寫成文章,如果你有任何想法或問題,歡迎來信到我的郵箱 [email protected]
留言0
查看全部
發表第一個留言支持創作者!
梧笙の領域展開 的其他內容
在網頁開發中,HTML 表格是展示資料的一種重要方式。本文將介紹HTML表格的基本結構和合併單元格,並通過實際範例幫助你理解。
無論是跳轉到另一個網頁,還是在同一頁面內導航,HTML 連結都扮演著關鍵角色。本文將簡單的介紹 HTML 連結的基礎語法和使用方法。
在網頁設計中,列表是基本且重要的元素之一。透過 HTML 列表,我們能夠提高網頁內容的可讀性。本文將帶你了解 HTML 中的列表類型,以及它們的使用方式。
本文將介紹 HTML 中的標題、段落、文本格式化、引用和註釋,這些文本標籤有助於建立一個結構良好的網站。
在網頁開發中,HTML 表格是展示資料的一種重要方式。本文將介紹HTML表格的基本結構和合併單元格,並通過實際範例幫助你理解。
無論是跳轉到另一個網頁,還是在同一頁面內導航,HTML 連結都扮演著關鍵角色。本文將簡單的介紹 HTML 連結的基礎語法和使用方法。
在網頁設計中,列表是基本且重要的元素之一。透過 HTML 列表,我們能夠提高網頁內容的可讀性。本文將帶你了解 HTML 中的列表類型,以及它們的使用方式。
本文將介紹 HTML 中的標題、段落、文本格式化、引用和註釋,這些文本標籤有助於建立一個結構良好的網站。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
圖片按鈕是網頁中常見的互動元素之一,它可以讓用戶進行操作,同時也為網頁增添了視覺吸引力。在這個教學中,我們將會學習如何使用 HTML 與 jQuery 創建一個簡單的圖片按鈕,並添加點擊事件。
Thumbnail
本篇習作內容,除了練習六角預習影音內的常用語法章節外,也額外整理了其它常用於文本的 HTML 元素,希望能透過這樣的整理,在未來設計結構更複雜的網站介面內容時,能扎穩根基。
Thumbnail
雖然知道可以透過 HTML 的 red, white, black 等顏色單字而非色票 (color code) 來使用顏色,一直以來開發上都是在找好適合的顏色後,使用 Sass 將色票紀錄到變數再做使用,不過最近接觸到 w3schools 的 HTML Color Names 才知道有將近...
img tag 必須使用direct link圖床,因此要看檔案副檔名是否為常見的圖片名稱。 有些網站會限制外網直接連結,所以篩選圖片要注意。
網頁輸入欄位動態改變範例 Html Dynamic DropDown Example
Thumbnail
一個網頁只會有一個h1 標籤(h1.p.img)裡面可以放多個屬性(src.background.color) 建立 HTML 環境 告訴大家這是html5的語法 關於整個專案的資訊放這裡面 頁籤標題 寫給別人看的要放這裡面 Emmet 預設安裝 /*語意使用英文*/ /*使
Thumbnail
初學程式的時候,可能會有幾個問題讓你的開發速度低落,腦袋動得很快,但是手卻跟不上想法。 舉例來說: 瀏覽器的DevTool一直報錯,畫面的邏輯出錯,或是畫面根本出不來,但你卻不知道問題出在哪。
Thumbnail
在HTML程式語言中,有一種能讓HTML元素與其他程式語言(CSS、JavaScript)運作的更加順利的語法,它叫做「HTML屬性(HTML Attribute)」。 那HTML屬性是怎麼運作的呢?
Thumbnail
HTML一種建立網頁架構的程式語言,對於初學程式的人來說,HTML是非常好上手的。 它沒有不像是CSS及JavaScript,沒有複雜的邏輯,只要更改程式碼,馬上就可以透過瀏覽器或是模擬器將結果顯示出來。
Thumbnail
許多初學網頁開發的朋友們,一開始都不太理解HTML、CSS、 JavaScript之間的差異性,導致初期規劃學習計畫時毫無頭緒。 會有這樣的困擾,主要在於不了解HTML、CSS、 JavaScript之間的關係,以及這三者在網頁運作時所扮演什麼角色,導致越學越阿雜的狀況。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
圖片按鈕是網頁中常見的互動元素之一,它可以讓用戶進行操作,同時也為網頁增添了視覺吸引力。在這個教學中,我們將會學習如何使用 HTML 與 jQuery 創建一個簡單的圖片按鈕,並添加點擊事件。
Thumbnail
本篇習作內容,除了練習六角預習影音內的常用語法章節外,也額外整理了其它常用於文本的 HTML 元素,希望能透過這樣的整理,在未來設計結構更複雜的網站介面內容時,能扎穩根基。
Thumbnail
雖然知道可以透過 HTML 的 red, white, black 等顏色單字而非色票 (color code) 來使用顏色,一直以來開發上都是在找好適合的顏色後,使用 Sass 將色票紀錄到變數再做使用,不過最近接觸到 w3schools 的 HTML Color Names 才知道有將近...
img tag 必須使用direct link圖床,因此要看檔案副檔名是否為常見的圖片名稱。 有些網站會限制外網直接連結,所以篩選圖片要注意。
網頁輸入欄位動態改變範例 Html Dynamic DropDown Example
Thumbnail
一個網頁只會有一個h1 標籤(h1.p.img)裡面可以放多個屬性(src.background.color) 建立 HTML 環境 告訴大家這是html5的語法 關於整個專案的資訊放這裡面 頁籤標題 寫給別人看的要放這裡面 Emmet 預設安裝 /*語意使用英文*/ /*使
Thumbnail
初學程式的時候,可能會有幾個問題讓你的開發速度低落,腦袋動得很快,但是手卻跟不上想法。 舉例來說: 瀏覽器的DevTool一直報錯,畫面的邏輯出錯,或是畫面根本出不來,但你卻不知道問題出在哪。
Thumbnail
在HTML程式語言中,有一種能讓HTML元素與其他程式語言(CSS、JavaScript)運作的更加順利的語法,它叫做「HTML屬性(HTML Attribute)」。 那HTML屬性是怎麼運作的呢?
Thumbnail
HTML一種建立網頁架構的程式語言,對於初學程式的人來說,HTML是非常好上手的。 它沒有不像是CSS及JavaScript,沒有複雜的邏輯,只要更改程式碼,馬上就可以透過瀏覽器或是模擬器將結果顯示出來。
Thumbnail
許多初學網頁開發的朋友們,一開始都不太理解HTML、CSS、 JavaScript之間的差異性,導致初期規劃學習計畫時毫無頭緒。 會有這樣的困擾,主要在於不了解HTML、CSS、 JavaScript之間的關係,以及這三者在網頁運作時所扮演什麼角色,導致越學越阿雜的狀況。