|
|
@ -65,13 +65,23 @@ jQuery(document).ready(function ($) { |
|
|
|
validated = false; |
|
|
|
validated = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Start : Валидация номера телефона
|
|
|
|
|
|
|
|
// Регулярное выражение для проверки адекватного международного телефонного номера:
|
|
|
|
|
|
|
|
// Разрешает:
|
|
|
|
|
|
|
|
// - опциональный "+" в начале
|
|
|
|
|
|
|
|
// - код страны (1–3 цифры)
|
|
|
|
|
|
|
|
// - необязательные пробелы или дефисы между частями номера
|
|
|
|
|
|
|
|
// - необязательную зону в скобках (например, (988))
|
|
|
|
|
|
|
|
// - оставшуюся часть номера длиной 5–10 цифр с допустимыми разделителями
|
|
|
|
const phoneInput = form.querySelector('input[name="phone"]'); |
|
|
|
const phoneInput = form.querySelector('input[name="phone"]'); |
|
|
|
const phonePattern = /^\+?\d{10,15}$/; |
|
|
|
const phonePattern = /^\+?[0-9]{1,3}[\s-]?(\(?\d{3}\)?[\s-]?)?[\d\s-]{5,10}$/; |
|
|
|
|
|
|
|
|
|
|
|
if (phoneInput && !phonePattern.test(phoneInput.value.trim())) { |
|
|
|
if (phoneInput && !phonePattern.test(phoneInput.value.trim())) { |
|
|
|
showError(phoneInput, pllTranslationsFromWindow.phone_invalid); |
|
|
|
showError(phoneInput, pllTranslationsFromWindow.phone_invalid); |
|
|
|
validated = false; |
|
|
|
validated = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// End : Валидация номера телефона
|
|
|
|
return validated; |
|
|
|
return validated; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|