CSS 可以用于驗證表單的輸入內容,這能夠提高表單輸入的數據的準確度、完整性。
首先,在 HTML 中使用<form>
元素創建表單,然后設置其屬性:
<form method="post" action="#"> ... </form>
表單的屬性 method 定義了提交表單數據的 HTTP 方法,“post” 表示將表單數據封裝在 HTTP 請求正文中,而不是在 URL 中。
表單的屬性 action 定義了將要提交表單數據的 URL,這里我們將其設置為 "#"。
然后,在 HTML 中添加表單所需的各種輸入控件,例如:
<input type="text" placeholder="姓名" name="name"> <input type="email" placeholder="Email 地址" name="email"> <input type="password" placeholder="密碼" name="password"> <input type="password" placeholder="確認密碼" name="password_confirm"> <input type="submit" value="提交">
在這個例子中,我們添加了四個輸入控件:一個文本輸入框用于輸入姓名、一個郵件輸入框用于輸入 Email 地址、一個密碼輸入框用于輸入密碼,還有一個確認密碼輸入框用于確認密碼。
現在我們可以使用 CSS 為這些輸入控件添加驗證規則,例如:
input[name="name"] { /* 姓名必須是英文字母 */ pattern: [a-z,A-Z]+; } input[name="email"] { /* Email 地址必須符合 RFC 822 標準 */ pattern: ^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$; } input[name="password"] { /* 密碼長度必須至少是 8 個字符 */ min-length: 8; } input[name="password_confirm"] { /* 確認密碼必須與密碼相同 */ equal-to: input[name="password"]; }
在這個例子中,我們為每個輸入控件添加了不同的驗證規則,例如姓
名必須是英文字母、Email 地址必須符合 RFC 822 標準、密碼長
度必須至少是 8 個字符、確認密碼必須與密碼相同。
最后,我們可以使用 JavaScript 來處理表單輸入數據,例如:
const form = document.querySelector('form'); form.addEventListener('submit', function(event) { event.preventDefault(); // 阻止表單提交 const name = form.elements['name'].value; const email = form.elements['email'].value; const password = form.elements['password'].value; const password_confirm = form.elements['password_confirm'].value; // 驗證表單數據 if (name.match(/[a-z,A-Z]+/)) { // 驗證姓名 } else { // 姓名不合法 } if (email.match(/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/)) { // 驗證 Email 地址 } else { // Email 地址不合法 } if (password.length >= 8) { // 驗證密碼長度 } else { // 密碼長度不合法 } if (password === password_confirm) { // 驗證確認密碼與密碼相同 } else { // 確認密碼與密碼不相同 } });
在這個例子中,我們使用addEventListener方法注冊一個表單提交事件的監聽器,當表單提交時,我們可以使用 JavaScript 來處理表單輸入數據并驗證其合法性。