@ -43,22 +43,34 @@ $(document).ready(function(){
$ ( 'body' ) . append ( '<div id="error_alert" class="alert alert-danger" role="alert" style="position: fixed; top: 50px; left: 10%; right: 10%; z-index: 9999; display: none;">Ошибка<br><small id="alert_error_text"></small></div>' ) ;
$ ( 'body' ) . append ( '<div id="success_alert" class="alert alert-success" role="alert" style="position: fixed; top: 50px; left: 10%; right: 10%; z-index: 9999; display: none;">Успех<br><small id="alert_success_text"></small></div>' ) ;
$ ( '#fio' ) . on ( 'input' , function ( ) {
let input = $ ( this ) . val ( ) ;
// Убираем все лишние символы, кроме букв и пробелов
input = input . replace ( /[^a-zA-Zа-яА-ЯёЁ ]/g , '' ) ;
// Разделение текста по пробелам и преобразование каждого слова
let words = input . split ( /\s+/ ) ; // Разбиваем по пробелам
// Преобразуем каждое слово
let formattedInput = words . map ( word => {
// Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы
let formattedInput = input . split ( ' ' ) . map ( word => {
if ( word . length > 0 ) {
return word . charAt ( 0 ) . toUpperCase ( ) + word . slice ( 1 ) . toLowerCase ( ) ;
}
return '' ; // Если слово пустое (например, несколько пробелов), не изменя ем
return '' ; // Пустые слова не трога ем
} ) . join ( ' ' ) ; // Объединяем обратно с пробелами
// Обновляем поле ввода с отформатированным текстом
$ ( this ) . val ( formattedInput ) ;
// Проверяем количество слов
let words = formattedInput . trim ( ) . split ( /\s+/ ) ; // Убираем лишние пробелы
if ( words . length < 3 || words . some ( word => word . length < 2 ) ) {
$ ( this ) . parent ( ) . removeClass ( 'success-field' ) . addClass ( 'errors-field' ) ; // Подсветить поле
} else {
$ ( this ) . parent ( ) . removeClass ( 'errors-field' ) . addClass ( 'success-field' ) ; // Убрать подсветку
}
} ) ;
$ ( '#email' ) . on ( 'input' , function ( ) {
let input = $ ( this ) . val ( ) ;
// Разрешаем только буквы, цифры, точки, дефисы и подчеркивания
@ -91,6 +103,42 @@ $(document).ready(function(){
}
} ) ;
$ ( '#address' ) . on ( 'input' , function ( ) {
let input = $ ( this ) . val ( ) ;
// Преобразуем все символы в верхний регистр
input = input . toUpperCase ( ) ;
// Обновляем поле ввода
$ ( this ) . val ( input ) ;
// Проверяем формат: должно быть минимум 5 частей, разделённых запятыми
let parts = input . split ( ',' ) ;
if ( parts . length < 5 || parts . some ( part => part . trim ( ) . length === 0 ) ) {
$ ( this ) . parent ( ) . removeClass ( 'success-field' ) . addClass ( 'errors-field' ) ;
} else {
$ ( this ) . parent ( ) . removeClass ( 'errors-field' ) . addClass ( 'success-field' ) ;
}
} ) ;
$ ( '#residential_address' ) . on ( 'input' , function ( ) {
let input = $ ( this ) . val ( ) ;
// Преобразуем все символы в верхний регистр
input = input . toUpperCase ( ) ;
// Обновляем поле ввода
$ ( this ) . val ( input ) ;
// Проверяем формат: должно быть минимум 5 частей, разделённых запятыми
let parts = input . split ( ',' ) ;
if ( parts . length < 5 || parts . some ( part => part . trim ( ) . length === 0 ) ) {
$ ( this ) . parent ( ) . removeClass ( 'success-field' ) . addClass ( 'errors-field' ) ;
} else {
$ ( this ) . parent ( ) . removeClass ( 'errors-field' ) . addClass ( 'success-field' ) ;
}
} ) ;
// Проверка на дату выдачи паспорта (выдан после 14, 20 или 45 лет)
$ ( '#passport_date' ) . on ( 'change' , function ( ) {
const passportDate = new Date ( $ ( this ) . val ( ) ) ;
@ -244,6 +292,21 @@ $(document).ready(function(){
$ ( this ) . attr ( "disabled" , true ) ;
message = { }
if ( $ ( '#residential_address' ) . val ( ) . split ( ',' ) . length < 5 || $ ( '#residential_address' ) . val ( ) . split ( ',' ) . some ( part => part . trim ( ) . length === 0 ) ) {
show _error ( 'Пожалуйста, введите адрес проживания в следующем формате, используя заглавные буквы и расставляя все запятые:\nРЕГИОН, НАСЕЛЕННЫЙ ПУНКТ, УЛИЦА, ДОМ, КВАРТИРА' , false ) ;
$ ( this ) . children ( ".spinner-border" ) . addClass ( 'd-none' ) ;
$ ( this ) . removeAttr ( "disabled" ) ;
return ;
}
if ( $ ( '#address' ) . val ( ) . split ( ',' ) . length < 5 || $ ( '#address' ) . val ( ) . split ( ',' ) . some ( part => part . trim ( ) . length === 0 ) ) {
show _error ( 'Пожалуйста, введите адрес регистрации в следующем формате, используя заглавные буквы и расставляя все запятые:\nРЕГИОН, НАСЕЛЕННЫЙ ПУНКТ, УЛИЦА, ДОМ, КВАРТИРА' , false ) ;
$ ( this ) . children ( ".spinner-border" ) . addClass ( 'd-none' ) ;
$ ( this ) . removeAttr ( "disabled" ) ;
return ;
}
if ( ! ( validate _length ( $ ( '#fio' ) . val ( ) , 3 ) ) )
{
show _error ( 'Введите ФИО' , false ) ;
@ -304,13 +367,7 @@ $(document).ready(function(){
return ;
}
if ( ! ( validate _length ( $ ( '#address' ) . val ( ) , 3 ) ) )
{
show _error ( 'Введите адрес регистрации' , false ) ;
$ ( this ) . children ( ".spinner-border" ) . addClass ( 'd-none' ) ;
$ ( this ) . removeAttr ( "disabled" ) ;
return ;
}
if ( ! ( validate _length ( $ ( '#residential_address' ) . val ( ) , 3 ) ) )
{