-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
61 lines (53 loc) · 1.82 KB
/
app.js
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
document.querySelector('form').addEventListener('submit', validationForm);
document.querySelector('#name').addEventListener('blur', validationName);
document.querySelector('#zip').addEventListener('blur', validationZip);
document.querySelector('#email').addEventListener('blur', validationEmail);
document.querySelector('#phone').addEventListener('blur', validationPhone);
function validationName(e) {
let re = /^[a-zA-z]{2,10}$/;
if (re.test(e.target.value)){
e.target.classList.remove('is-invalid')
e.target.classList.add('is-valid');
} else {
e.target.classList.add('is-invalid')
e.target.classList.remove('is-valid');
}
}
function validationZip(e) {
let re = /^[\d]{5}\-?[\d]{5}$/;
if (re.test(e.target.value)){
e.target.classList.remove('is-invalid')
e.target.classList.add('is-valid');
} else {
e.target.classList.add('is-invalid')
e.target.classList.remove('is-valid');
}
}
function validationEmail(e) {
let re = /^[\w\-?\.?]+@[a-zA-Z]+\.[a-zA-Z]{2,5}$/;
if (re.test(e.target.value)){
e.target.classList.remove('is-invalid')
e.target.classList.add('is-valid');
} else {
e.target.classList.add('is-invalid')
e.target.classList.remove('is-valid');
}
}
function validationPhone(e) {
let re = /^\+[\d]{2}\s[\d]{2}\s[\d]{1,11}$/;
let regex = /^\+[\d]{2}[\d]{2}[\d]{1,11}$/;
if (re.test(e.target.value) || regex.test(e.target.value)){
e.target.classList.remove('is-invalid')
e.target.classList.add('is-valid');
}
else {
e.target.classList.add('is-invalid')
e.target.classList.remove('is-valid');
}
}
function validationForm(e) {
let input = document.getElementsByClassName('is-invalid')
if (input.length > 0) {
e.preventDefault();
}
}