210 lines
6.5 KiB
JavaScript
210 lines
6.5 KiB
JavaScript
function checkEmail(input, msg) {
|
|
if (window.validateEmail(input.value)) {
|
|
msg.innerHTML = '';
|
|
input.classList.remove('is-invalid');
|
|
input.classList.add('is-valid');
|
|
return false;
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.remove('is-valid');
|
|
input.classList.add('is-invalid');
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function checkPhone(input, msg) {
|
|
if (window.validatePhone(input.value)) {
|
|
msg.innerHTML = '';
|
|
input.classList.remove('is-invalid');
|
|
input.classList.add('is-valid');
|
|
return false;
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.remove('is-valid');
|
|
input.classList.add('is-invalid');
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function checkNotEmpty(input, msg) {
|
|
var valid = false;
|
|
|
|
if (input.value === '') {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
} else {
|
|
msg.innerHTML = '';
|
|
input.classList.add('is-valid');
|
|
input.classList.remove('is-invalid');
|
|
}
|
|
|
|
return valid;
|
|
}
|
|
|
|
function checkTextRu(input, msg) {
|
|
var valid = false;
|
|
|
|
if (input.value === '') {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
} else {
|
|
msg.innerHTML = '';
|
|
input.classList.add('is-valid');
|
|
input.classList.remove('is-invalid');
|
|
}
|
|
|
|
if (/[A-Za-z0-9]/.test(input.value)) {
|
|
msg.innerHTML = '<span class="text-danger">поле должно заполняться кириллицей</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
}
|
|
|
|
return valid;
|
|
}
|
|
|
|
function checkAccept(ckeckBox, msg) {
|
|
var valid = false;
|
|
|
|
if (ckeckBox.checked) {
|
|
msg.innerHTML = '';
|
|
ckeckBox.classList.add('is-valid');
|
|
ckeckBox.classList.remove('is-invalid');
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">укажите согласие, на обработку персональных данных</span>';
|
|
ckeckBox.classList.add('is-invalid');
|
|
ckeckBox.classList.remove('is-valid');
|
|
valid = true;
|
|
}
|
|
|
|
return valid;
|
|
}
|
|
|
|
function checkDate(input, msg, range = false) {
|
|
var valid = false;
|
|
|
|
if (range) {
|
|
if (/^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}.\-.(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}$/.test(input.value)) {
|
|
msg.innerHTML = '';
|
|
input.classList.add('is-valid');
|
|
input.classList.remove('is-invalid');
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
}
|
|
} else {
|
|
if (/^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}$/.test(input.value)) {
|
|
msg.innerHTML = '';
|
|
input.classList.add('is-valid');
|
|
input.classList.remove('is-invalid');
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
}
|
|
}
|
|
|
|
return valid;
|
|
}
|
|
|
|
function checkInt(input, msg) {
|
|
var valid = false;
|
|
|
|
if (/^\d+$/.test(input.value)) {
|
|
msg.innerHTML = '';
|
|
input.classList.add('is-valid');
|
|
input.classList.remove('is-invalid');
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
}
|
|
|
|
return valid;
|
|
}
|
|
|
|
function checkInn(input, msg) {
|
|
var valid = false;
|
|
|
|
if (input.value === '') {
|
|
msg.innerHTML = '<span class="text-danger">поле является обязательным для заполнения</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
} else {
|
|
if (is_valid_inn(input.value)) {
|
|
msg.innerHTML = '';
|
|
input.classList.add('is-valid');
|
|
input.classList.remove('is-invalid');
|
|
} else {
|
|
msg.innerHTML = '<span class="text-danger">проверьте правильность введённых данных</span>';
|
|
input.classList.add('is-invalid');
|
|
input.classList.remove('is-valid');
|
|
valid = true;
|
|
}
|
|
}
|
|
|
|
return valid;
|
|
}
|
|
|
|
function is_valid_inn(i) {
|
|
if ( i.match(/\D/) ) return false;
|
|
|
|
var inn = i.match(/(\d)/g);
|
|
|
|
if ( inn.length == 10 )
|
|
{
|
|
return inn[9] == String(((
|
|
2*inn[0] + 4*inn[1] + 10*inn[2] +
|
|
3*inn[3] + 5*inn[4] + 9*inn[5] +
|
|
4*inn[6] + 6*inn[7] + 8*inn[8]
|
|
) % 11) % 10);
|
|
}
|
|
else if ( inn.length == 12 )
|
|
{
|
|
return inn[10] == String(((
|
|
7*inn[0] + 2*inn[1] + 4*inn[2] +
|
|
10*inn[3] + 3*inn[4] + 5*inn[5] +
|
|
9*inn[6] + 4*inn[7] + 6*inn[8] +
|
|
8*inn[9]
|
|
) % 11) % 10) && inn[11] == String(((
|
|
3*inn[0] + 7*inn[1] + 2*inn[2] +
|
|
4*inn[3] + 10*inn[4] + 3*inn[5] +
|
|
5*inn[6] + 9*inn[7] + 4*inn[8] +
|
|
6*inn[9] + 8*inn[10]
|
|
) % 11) % 10);
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function checkSmartCaptcha(token, msg) {
|
|
if (token === '') {
|
|
msg.innerHTML = '<span class="text-danger">Подтвердите, что Вы не робот</span>';
|
|
return true;
|
|
}
|
|
|
|
msg.innerHTML = '';
|
|
return false;
|
|
}
|
|
|
|
module.exports = {
|
|
checkInt: checkInt,
|
|
checkNotEmpty: checkNotEmpty,
|
|
checkDate: checkDate,
|
|
checkInn: checkInn,
|
|
checkAccept: checkAccept,
|
|
checkSmartCaptcha: checkSmartCaptcha,
|
|
checkTextRu: checkTextRu,
|
|
checkEmail: checkEmail,
|
|
checkPhone: checkPhone
|
|
};
|