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

Fally

Новичок
Регулярные выражения и русские буквы.

Здравствуйте.
Мне необходимо сделать фильтр на вводимые пользователем данные (ФИО), чтобы он мог ввести только русские, а если в слове встречается хоть один символ, не являющийся русской буквой, корректно вывести пользователю сообщение, что он ввёл что-то не так.

Сначала я тупо использовал регуляру вида:
PHP:
preg_match('/[а-яА-Я]+/i', $UserData[$name]);
На стандартных ситуациях она работала нормально, т.е. если в поле name все русские буквы, то она пропускала эти данные, если поле вообще не содержало русских букв, тогда она также корректно срабатывала.

Проблема появилась тогда, когда я начал вводить в поле name данные вида: "Gyлять". По условию, это слово не является корректным, однако регулярное выражение пропускало его без лишних вопросов.
Также пробовал вариант:
PHP:
preg_match('/[а-яА-Я^a-Z^A-Z]+/i', $UserData[$name])
После которого, даже полностью корректные варианты перестали проходить.
Подскажите мне пожалуйста, как правильно оформить регулярное выражение, которое будет разрешать использование слов _полностью_ состоящих из русских букв.

Заранее благодарен.
 

Fally

Новичок
точно)) спасибо)) совершенно забыл про ^ и $, во всех остальных регулярках использовал их)
 

kruglov

Новичок
А как ваша регулярка отреагирует на имена типа Мария-Елена и Джалал-Оглы?
 
Сверху