Недопустимые символы в ФИО по ФНС: разница между пунктами
Разъяснение двух пунктов письма ФНС о недопустимых сочетаниях символов в ФИО. Узнайте разницу между запретом на повторение и последовательность символов, включая особенности пробела.
Какие недопустимые сочетания символов в ФИО указаны в письме ФНС России от 01.03.2022 N БС-4-11/2435@?
При разработке системы валидации ФИО для российских граждан я изучил официальные документы, в частности письмо ФНС России. В приложении к этому документу перечислены недопустимые сочетания символов, но я столкнулся с непониманием формулировки двух пунктов:
-
Расположение подряд двух и более символов «.» (точка), «-» (дефис), «'» (апостроф), « » (пробел), «,» (запятая), «(» (открывающая скобка), «)» (закрывающая скобка)
-
Наличие подряд идущих символов: «.» (точка), «-» (дефис), «'» (апостроф), «,» (запятая), «(» (открывающая скобка), «)» (закрывающая скобка)
В первом пункте перечислен пробел, а во втором - нет. Объясните, пожалуйста, в чем разница между этими двумя пунктами и как их правильно интерпретировать при реализации валидации ФИО.
В письме ФНС России от 01.03.2022 N БС-4-11/2435@ действительно указаны два разных пункта, которые касаются недопустимых сочетаний символов в ФИО, и их формулировки имеют важные различия. Давайте разберем эти нюансы подробно.
Содержание
- Основные недопустимые сочетания символов
- Разница между первым и вторым пунктом
- Правила для пробела
- Примеры корректного и некорректного написания
- Практические рекомендации по реализации валидации
- Источники
Основные недопустимые сочетания символов
Согласно письму ФНС России от 01.03.2022 N БС-4-11/2435@, в приложении к документу (Таблица 2) перечислены недопустимые сочетания символов при написании ФИО физических лиц. Основные запреты включают:
- Запрет на использование латинских букв, цифр и специальных символов типа %, ?, ! и других
- Ограничения на расположение и количество определенных символов
- Правила для пунктуационных знаков
Разница между первым и вторым пунктом
Два указанных вами пункта действительно имеют разные формулировки, и это не случайность. Разница заключается в следующем:
Первый пункт: “Расположение подряд двух и более символов”
Этот пункт запрещает последовательное повторение следующих символов:
.(точка)-(дефис)'(апостроф)`(пробел),(запятая)((открывающая скобка))(закрывающая скобка)
Суть запрета: Нельзя использовать два или более одинаковых символа подряд. Например:
- Недопустимо:
Иван..Петров,Анна--Сидорова,Оль''я - Допустимо:
Иван.Петров,Анна-Сидорова,Оль'я
Второй пункт: “Наличие подряд идущих символов”
Этот пункт запрещает последовательное использование следующих символов:
.(точка)-(дефис)'(апостроф),(запятая)((открывающая скобка))(закрывающая скобка)
Ключевое отличие: Во втором пункте отсутствует пробел. Это означает, что пробел регулируется только первым пунктом, но не подпадает под запрет на последовательное использование разных символов.
Правила для пробела
Пробел имеет особый статус в правилах ФНС:
-
Запрет на повторение: Согласно первому пункту, два или более пробелов подряд запрещены
- Недопустимо:
Иван Петров(два пробела между именем и фамилией) - Допустимо:
Иван Петров(один пробел)
- Недопустимо:
-
Разрешенное сочетание с другими символами: Пробел может использоваться в последовательности с другими символами, так как не входит во второй пункт
- Допустимо:
Иван-Петров,Иван,Петров,Иван(Петров) - Недопустимо:
Иван--Петров(два дефиса подряд)
- Допустимо:
Важно: Пробел - единственный символ из списка, который запрещен только при повторении, но разрешен в сочетании с другими символами.
Примеры корректного и некорректного написания
Фамилии:
| Корректно | Некорректно | Причина |
|---|---|---|
Иванов-Петров |
Иванов--Петров |
Два дефиса подряд |
Смирнов |
Смирнов. |
Точка как последний символ |
Орлов |
Орлов() |
Две скобки подряд |
Попов-Сидоров |
Попов- Сидоров |
Пробел после дефиса |
Имена:
| Корректно | Некорректно | Причина |
|---|---|---|
Анна-Мария |
Анна--Мария |
Два дефиса подряд |
Мария' |
Мария'' |
Два апострофа подряд |
Ольга |
Ольга, |
Запятая как последний символ |
Иван |
Иван(Петров) |
Скобки в имени |
Отчества:
| Корректно | Некорректно | Причина |
|---|---|---|
Алексеевич |
Алексеевич- |
Дефис как последний символ |
Васильевна |
Васильевна.. |
Две точки подряд |
Николаевич |
Николаевич() |
Две скобки подряд |
Практические рекомендации по реализации валидации
При разработке системы валидации ФИО необходимо реализовать следующие проверки:
1. Проверка на недопустимые символы
def has_invalid_characters(fio):
invalid_chars = '0123456789%?!@#$%^&*_+=<>:;"~`'
return any(char in fio for char in invalid_chars)
2. Проверка на повторение символов (первый пункт)
def has_repeated_special_chars(fio):
special_chars = '.-\' ,()'
for i in range(len(fio) - 1):
if fio[i] in special_chars and fio[i] == fio[i + 1]:
return True
return False
3. Проверка на последовательность разных символов (второй пункт)
def has_consecutive_special_chars(fio):
special_chars_without_space = '.-\' ,()' # Без пробела!
for i in range(len(fio) - 1):
if fio[i] in special_chars_without_space and fio[i+1] in special_chars_without_space:
return True
return False
4. Проверка позиции символов
def has_invalid_position(fio):
# Точка, запятая, дефис, апостроф не могут быть первым или последним символом
first_char = fio[0] if fio else ''
last_char = fio[-1] if fio else ''
invalid_start = '. ,-\'('
invalid_end = '. ,-\''
return (first_char in invalid_start or last_char in invalid_end)
5. Комплексная проверка
def validate_fio(fio):
if not fio or fio.isspace():
return False
checks = [
has_invalid_characters(fio),
has_repeated_special_chars(fio),
has_consecutive_special_chars(fio),
has_invalid_position(fio)
]
return not any(checks)
Недопустимые сочетания символов в ФИО, указанные в письме ФНС России от 01.03.2022 N БС-4-11/2435@, делятся на две категории: запрет на повторение символов и запрет на последовательное использование разных символов. Ключевое различие заключается в том, что пробел регулируется только первым запретом (на повторение), но не подпадает под второй запрет (на последовательность). Это позволяет использовать пробелы в сочетании с другими символами, но запрещает их повторение.
Источники
- ФНС России от 01.03.2022 N БС-4-11/2435@
- Таблица 2. Недопустимые сочетания допустимых символов при написании Фамилии, Имени, Отчества физического лица
- Допустимые символы в расчёте по страховым взносам (РСВ) с 2022 года
- Допустимые символы в расчете по взносам: пояснения ФНС
- Указание ФИО в РСВ: обновлены правила допустимости применения символов