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 = 'поле является обязательным для заполнения'; 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 = 'поле является обязательным для заполнения'; input.classList.remove('is-valid'); input.classList.add('is-invalid'); return true; } } function checkNotEmpty(input, msg) { var valid = false; if (input.value === '') { msg.innerHTML = 'поле является обязательным для заполнения'; 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 = 'поле является обязательным для заполнения'; 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 = 'поле должно заполняться кириллицей'; 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 = 'укажите согласие, на обработку персональных данных'; 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 = 'поле является обязательным для заполнения'; 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 = 'поле является обязательным для заполнения'; 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 = 'поле является обязательным для заполнения'; 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 = 'поле является обязательным для заполнения'; 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 = 'проверьте правильность введённых данных'; 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 = 'Подтвердите, что Вы не робот'; 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 };