Проверка русских символов в регулярных выражениях
Категория: / DEV Блог
/ PHP (LAMP)
Один из часто задаваемых вопросов - как в никс окружении проверить регуляркой наличие кирилицы в строке.
На unix системах можно попробовать сменить локаль на setlocale(LC_ALL, 'ru_RU.CP1251');
и использовать кириллицу в чистом виде [а-яА-Я],
либо применять юникод модификатор u (если проверяемый текст в unicode|UTF-8).
Смотрите также:
Регулярные выражения для чайников.
$russian_str = "Тест";
if (preg_match("/^[".chr(0x7F)."-".chr(0xff)."_-]+$/",$russian_str))
{
echo 'Это по-русски..';
} else {
echo 'Это нет...';
}
На unix системах можно попробовать сменить локаль на setlocale(LC_ALL, 'ru_RU.CP1251');
и использовать кириллицу в чистом виде [а-яА-Я],
либо применять юникод модификатор u (если проверяемый текст в unicode|UTF-8).
preg_match('@регулярное выражение@u');
Смотрите также:
Регулярные выражения для чайников.
Просто и ясно. Всё работает!
Вот еще короткая подсказка для тех, кто хочет сделать проверку e-mail адреса:
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo 'E-mail введен верно!'; }