-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
158 lines (134 loc) · 6.79 KB
/
main.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
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
let form = document.querySelector('.js-form'),
forminput = document.querySelectorAll('.js-in'),
mailinput = document.querySelector('.js-in-email'),
nameinput = document.querySelector('.js-in-name'),
snameinput = document.querySelector('.js-in-sname'),
temainput = document.querySelector('.js-in-tema'),
passinput = document.querySelector('.js-in-password'),
span = document.querySelectorAll('.span');
function validateEmail(email){
let reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return reg.test(String(email).toLowerCase());
}
function validatePass(Password){
let reg = /^((?=.*\d)(?=(.*\W){2})(?=.*[a-zA-Z])(?!.*\s).{8,15})$/;
return reg.test(String(Password).toLowerCase());
}
function validateName(name){
let reg = /^[А-Яа-я\-]{2,20}$/;
return reg.test(String(name).toLowerCase());
}
function validateSname(sName){
let reg = /^[А-Яа-я\-]{2,20}$/;
return reg.test(String(sName).toLowerCase());
}
function validateTema(Tema){
let reg = /^[А-Яа-я\-]{3,50}$/;
return reg.test(String(Tema).toLowerCase());
}
form.onsubmit = function () {
let emptyinput = Array.from(forminput).filter(input => input.value === ''),
emailval = mailinput.value,
phone = document.getElementById('phone').value,
nameval = nameinput.value,
snameval = snameinput.value,
Temaval = temainput.value,
passval = passinput.value,
quantity = document.getElementById('quantity').value;
forminput.forEach(function (input) {
if (input.value === '') {
input.classList.add('is-invalid');
document.getElementById("notation-tm").style.color = "brown";
document.getElementById("notation-tm").innerHTML = "Пожалуйста, заполните поля";
} else {
input.classList.remove('is-invalid');
input.classList.add('is-valid');
document.getElementById("notation-tm").innerHTML = "";
}
})
if (emptyinput.length !== 0){
// console.log('inputs not field')
valid(forminput, span, 'Заполните форму')
return false;
}
//
// if (!validatephone(phoneval)){
// phoneinput.classList.add('is-invalid');
// return false;
// }else {
// phoneinput.classList.remove('is-invalid');
// phoneinput.classList.add('is-valid');
// }
if (!validateName(nameval)){
document.getElementById("notation-name").style.color = "brown";
document.getElementById("notation-name").innerHTML = "Пожалуйста, введите от 2 до 20 символов на русском";
nameinput.classList.add('is-invalid');
return false;
}else {
nameinput.classList.remove('is-invalid');
nameinput.classList.add('is-valid');
document.getElementById("notation-name").innerHTML = ""
}
if (!validateSname(snameval)){
document.getElementById("notation-sname").style.color = "brown";
document.getElementById("notation-sname").innerHTML = "Пожалуйста, введите от 2 до 20 символов на русском";
snameinput.classList.add('is-invalid');
return false;
}else {
snameinput.classList.remove('is-invalid');
snameinput.classList.add('is-valid');
document.getElementById("notation-sname").innerHTML = ""
}
if (!validateEmail(emailval)){
document.getElementById("notation-em").style.color = "brown";
document.getElementById("notation-em").innerHTML = "Введите корректный Email";
mailinput.classList.add('is-invalid');
return false;
}else {
mailinput.classList.remove('is-invalid');
mailinput.classList.add('is-valid');
document.getElementById("notation-em").innerHTML = ""
}
if (!validatePass(passval)){
document.getElementById("notation-password").style.color = "brown";
document.getElementById("notation-password").innerHTML = "Длина пароля должна быть от 8 до 15 символов? пароль должен содержать:\n" +
"не менее 1 цифры,\n" +
"не менее 2 специальных символов (!@&#$%^),\n" +
"не менее 1 буквенного символа,\n" +
"не должен иметь пробелов.";
passinput.classList.add('is-invalid');
return false;
}else {
passinput.classList.remove('is-invalid');
passinput.classList.add('is-valid');
document.getElementById("notation-password").innerHTML = ""
}
if (!validateTema(Temaval)){
document.getElementById("notation-tm").style.color = "brown";
document.getElementById("notation-tm").innerHTML = "Пожалуйста, введите от 3 до 50 символов на русском";
temainput.classList.add('is-invalid');
return false;
}else {
temainput.classList.remove('is-invalid');
temainput.classList.add('is-valid');
document.getElementById("notation-tm").innerHTML = ""
}
function valid(form, el, mess){
el.innerHTML = mess;
}
if ((validateSname(snameval)) != false && (validateName(nameval)) != false && (validateEmail(emailval)) != false && (validatePass(passval)) != false && quantity != "" && (validateTema(Temaval)) != false && phone != "") {
document.getElementById("summary").style.color = "black";
document.getElementById("summary").innerHTML = "<h4>Спасибо за регистрацию в нашей социальной сети!</br><br>";
document.getElementById("summary").innerHTML += "Здравствуйте, " + nameval + " " + snameval + "!";
document.getElementById("summary").innerHTML += "<p>Спасибо за выбор нашей социальной сети, для завершения регистрации, пройдите по ссылке в письме, отправленном на адрес: " + emailval + "</p>";
document.getElementById("summary").innerHTML += "<p>Ниже представлена указанная Вами информация:</p>";
document.getElementById("summary").innerHTML += "<p>Ваш Email: " + emailval + "</br>";
document.getElementById("summary").innerHTML += "<p>Ваш номер телефона: " + phone + "</br>";
document.getElementById("summary").innerHTML += "<p>Ваш возраст: " + quantity + "</br>";
document.getElementById("summary").innerHTML += "<p>Коротко о Вас: " + Temaval + "</br>";
document.getElementById("summary").innerHTML += "<p style='font-weight: bold;'>Если Вы не смогли найти сообщение с подтверждением, проверьте папку спам.</p>";
} else {
return false;
}
return false;
}