-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy path5_client-side-validation.html
More file actions
109 lines (93 loc) · 3.56 KB
/
5_client-side-validation.html
File metadata and controls
109 lines (93 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Q.5 Form Validation</title>
<style>
.error {
color: red;
}
</style>
</head>
<body>
<h2>Form Validation</h2>
<form id="myForm" onsubmit="validateForm()">
<label for="name">Name:</label>
<input type="text" id="name" name="name" />
<span id="nameError" class="error"></span><br />
<label for="age">Age:</label>
<input type="text" id="age" name="age" />
<span id="ageError" class="error"></span><br />
<label for="phone">Phone Number:</label>
<input type="text" id="phone" name="phone" />
<span id="phoneError" class="error"></span><br />
<label for="email">Email:</label>
<input type="text" id="email" name="email" />
<span id="emailError" class="error"></span><br />
<label for="colleges">Colleges:</label>
<select id="colleges" name="colleges">
<option value="" disabled selected>Select a college</option>
<option value="college1">College 1</option>
<option value="college2">College 2</option> </select
><br />
<label>Gender:</label>
<input type="radio" id="male" name="gender" value="male" /> Male
<input type="radio" id="female" name="gender" value="female" /> Female
<input type="radio" id="other" name="gender" value="other" /> Other<br />
<span id="genderError" class="error"></span><br />
<label>
<input type="checkbox" id="terms" name="terms" /> I accept all the terms
</label>
<span id="termsError" class="error"></span><br />
<input type="submit" value="Submit" />
</form>
<script>
function validateForm() {
var name = document.getElementById('name').value;
var age = document.getElementById('age').value;
var phone = document.getElementById('phone').value;
var email = document.getElementById('email').value;
var colleges = document.getElementById('colleges').value;
var gender = document.querySelector('input[name="gender"]:checked');
var terms = document.getElementById('terms').checked;
if (name.length < 7 || !/^[a-zA-Z\s]+$/.test(name)) {
document.getElementById('nameError').innerHTML =
'Name must be at least 7 characters long and contain only alphabets and spaces.';
return false;
}
if (!/^\d+$/.test(age) || age < 18 || age > 50) {
document.getElementById('ageError').innerHTML =
'Age must be an integer between 18 and 50.';
return false;
}
if (!/^[9][78]\d{8}$/.test(phone)) {
document.getElementById('phoneError').innerHTML =
'Phone number must be exactly 10 digits long and start with 98 or 97.';
return false;
}
if (!/^\S+@\S+\.\S+$/.test(email)) {
document.getElementById('emailError').innerHTML =
'Invalid email address.';
return false;
}
if (colleges === '') {
alert('Please select a college.');
return false;
}
if (!gender) {
document.getElementById('genderError').innerHTML =
'Please select a gender.';
return false;
}
if (!terms) {
document.getElementById('termsError').innerHTML =
'Please accept the terms.';
return false;
}
alert('Form submitted successfully!');
return true;
}
</script>
</body>
</html>