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="請輸入數字">

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

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

58會員
87Content count
「梧笙」即「吾生」,意即我的生命,朋友都叫我「阿梧(Awu)」,高雄人。我喜歡學習新技能,從程式設計到網路工具,再到社群經營和影片剪輯。日常興趣是打遊戲、看動漫、讀小說和聽音樂。我會把這些興趣寫成文章,如果你有任何想法或問題,歡迎來信到我的郵箱 aowulife109@gmail.com
留言0
查看全部
發表第一個留言支持創作者!
梧笙の領域展開 的其他內容
在網頁開發中,HTML 表格是展示資料的一種重要方式。本文將介紹HTML表格的基本結構和合併單元格,並通過實際範例幫助你理解。
無論是跳轉到另一個網頁,還是在同一頁面內導航,HTML 連結都扮演著關鍵角色。本文將簡單的介紹 HTML 連結的基礎語法和使用方法。
在網頁設計中,列表是基本且重要的元素之一。透過 HTML 列表,我們能夠提高網頁內容的可讀性。本文將帶你了解 HTML 中的列表類型,以及它們的使用方式。
本文將介紹 HTML 中的標題、段落、文本格式化、引用和註釋,這些文本標籤有助於建立一個結構良好的網站。
在網頁開發中,HTML 表格是展示資料的一種重要方式。本文將介紹HTML表格的基本結構和合併單元格,並通過實際範例幫助你理解。
無論是跳轉到另一個網頁,還是在同一頁面內導航,HTML 連結都扮演著關鍵角色。本文將簡單的介紹 HTML 連結的基礎語法和使用方法。
在網頁設計中,列表是基本且重要的元素之一。透過 HTML 列表,我們能夠提高網頁內容的可讀性。本文將帶你了解 HTML 中的列表類型,以及它們的使用方式。
本文將介紹 HTML 中的標題、段落、文本格式化、引用和註釋,這些文本標籤有助於建立一個結構良好的網站。
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
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
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
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之間的關係,以及這三者在網頁運作時所扮演什麼角色,導致越學越阿雜的狀況。