Как составить регулярное выражение для проверки имени и фамилии? На сайте необходимо реализовать проверку имени и фамилии пользователя. Читал, что сильно ограничивать этот ввод - идея плохая. Как составить выражение, которое будет пропускать буквы различных языков (хотя-бы русские, английские, китайские и японские иероглифы), но не будет пропускать цифры, эмодзи и различный спецсимволы (по типу %, ^, / и т.д.)? Я так понял, такое есть например у VK, я не видел там имен со спецсимволами или цифрами.

3 Фев 2023 в 19:52
164 +1
1
Ответы
1

Для проверки имени и фамилии пользователя можно использовать следующее регулярное выражение:

^[\p{L}\p{M}]{1,}$

Это выражение позволит пропускать только буквы различных языков, такие как русские, английские, китайские и японские иероглифы, а также диакритические знаки (\p{M}). В данном случае оно позволит использовать только буквы в верхнем и нижнем регистрах в имени и фамилии пользователя.

Пример использования в JavaScript:

const regex = /^[\p{L}\p{M}]{1,}$/u;
const name = "Иван";
if regex.test(name)regex.test(name)regex.test(name) {
console.log"Имякорректное""Имя корректное""Имякорректное";
} else {
console.log"Имясодержитнедопустимыесимволы""Имя содержит недопустимые символы""Имясодержитнедопустимыесимволы";
}

Это регулярное выражение не позволит использовать цифры, эмодзи и различные спецсимволы в имени и фамилии пользователя, так как они не попадают под категорию букв (\p{L}) или диакритических знаков (\p{M}).

16 Апр 2024 в 16:43
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир