Задать вопрос
dalv_happy
@dalv_happy

Регулярные выражения на латинские и кириллические буквы?

Добрый день. Для поля имя и фамилия хочу поставить проверку на содержание либо русских или английских букв, если помимо букв содержатся цифры или спецсимволы, то ошибка.
Пробовал такой вариант:
if (!preg_match("/[а-я]/i", $name) || !preg_match("/[a-z]/i", $name)) {
    echo 'error';
}

Но получалось следующие, такое условие просит, чтобы в строке содержались и русские и английские буквы одновременно, но мне нужно либо русские, либо английские.
Прошу помощи.
  • Вопрос задан
  • 23157 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
if (!preg_match("/[а-я]/i", $name) && !preg_match("/[a-z]/i", $name)) {
echo 'error';
}

Это Вы имели ввиду?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
/^([а-яё]+|[a-z]+)$/i
Ответ написан
EugenioPavlov
@EugenioPavlov
Начинающий программист
Латинские и русские буквы с пробелами '/^[a-zа-яё\s]+$/iu'

А это без совмещения русского и латинского алфавита в одной строке '/^([а-яё\s]+|[a-z\s]+)$/iu'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы