以下是HTML代碼:
<form name="myForm" onsubmit="return validateForm()"><label for="name">姓名:</label><input type="text" id="name" name="name"><br><label for="email">電子郵件:</label><input type="email" id="email" name="email"><br><label for="age">年齡:</label><input type="number" id="age" name="age"><br><label for="phone">電話號碼:</label><input type="tel" id="phone" name="phone"><br><label for="address">地址:</label><input type="text" id="address" name="address"><br><label for="username">用戶名:</label><input type="text" id="username" name="username"><br><input type="submit" value="提交"></form>
以下是js實現:
function validateForm() {var name = document.forms["myForm"]["name"].value;var email = document.forms["myForm"]["email"].value;var age = document.forms["myForm"]["age"].value;var phone = document.forms["myForm"]["phone"].value;var address = document.forms["myForm"]["address"].value;var username = document.forms["myForm"]["username"].value;if (name == "") {alert("請填寫姓名");return false;}if (email == "") {alert("請填寫電子郵件");return false;} else {var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;if (!emailPattern.test(email)) {alert("請輸入有效的電子郵件地址");return false;}}if (age == "") {alert("請填寫年齡");return false;} else {if (isNaN(age) || age < 0 || age > 120) {alert("請輸入有效的年齡");return false;}}if (phone == "") {alert("請填寫電話號碼");return false;} else {var phonePattern = /^\d{11}$/;if (!phonePattern.test(phone)) {alert("請輸入有效的電話號碼(11位數字)");return false;}}if (address == "") {alert("請填寫地址");return false;}if (username == "") {alert("請填寫用戶名");return false;}return true;}
定義了一個名為
validateForm
的JavaScript函數,該函數用于驗證表單數據。在函數中,首先獲取每個輸入框的值,然后逐一進行驗證。對于每個輸入框,我們使用條件語句來檢查其值是否滿足特定要求,并在不符合要求時顯示警告框并返回false以阻止表單提交。例如,如果姓名字段為空,則顯示警告框并返回false。同樣地,我們使用正則表達式來驗證電子郵件和電話號碼的格式,使用比較運算符來驗證年齡的范圍。
在HTML部分,我們將每個輸入框與相應的標簽進行關聯,并在表單元素上添加了
onsubmit
事件來調用validateForm
函數。如果所有輸入框的值都通過驗證,將允許表單提交;否則,將阻止表單提交。