Тема: Ник на русском (WAP/WEB мастеру/Помощь мастерам) Galaxerru (24 Nov 2017 в 16:57) if (isset($_GET[\'set\']) && $_GET[\'set\'] == \'nick\' && $user[\'set_nick\'] == 1) { if (mysql_result(mysql_query(\"SELECT COUNT(*) FROM `user` WHERE `nick` = \'\".my_esc($_POST[\'nick\']).\"\'\"),0)==0) { $nick = my_esc($_POST[\'nick\']); if( !preg_match(\"#^([А-яA-z0-9-_])+$#ui\", $_POST[\'nick\']))$err[]=\'В нике присутствуют запрещенные символы\'; if (strlen2($nick)<2)$err[]=\'Короткий ник\'; if (strlen2($nick)>32)$err[]=\'Длина ника превышает 32 символа\'; } else $err[] = \'Ник \"\' . stripcslashes(htmlspecialchars($_POST[\'nick\'])) . \'\" уже зарегистрирован\'; if (isset($_POST[\'nick\']) && !isset($err)) { $user[\'nick\'] = $_POST[\'nick\']; mysql_query(\"UPDATE `user` SET `nick` = \'\".my_esc($user[\'nick\']).\"\' , `set_nick` = \'0\' WHERE `id` = \'$user[id]\' LIMIT 1\"); } } kantry (24 Nov 2017 в 21:59) Galaxerru, добавь в исправленую регулярку Ёё не пропустит их. ~^([А-яЁёA-z0-9-_])+$~ui Ответ (24 Nov 2017 в 22:54) Привет. В условии if (!preg_match(\"#^([A-z0-9-_])+$#ui\", $_POST[\'nick\'])) регулярное выражение [А-яA-z0-9-_] Замени на это [a-zа-яё0-9_] Вот так... if (!preg_match(\"/^([a-zа-яё0-9_])+$/ui\", $_POST[\'nick\']))$err[]=\'В нике присутствуют запрещенные символы\'; От себя... Во избежания кландайка)) Советую ниже, добавить вот такую проверку. То есть, либо латиница либо кириллица в нике. if (preg_match(\"/[a-z]+/ui\", $_POST[\'nick\']) && preg_match(\"/[а-я]+/ui\", $_POST[\'nick\']))$err[]=\'Разрешается использовать символы только русского или только английского алфавита\'; kantry привет) ^([А-яЁёA-z0-9-_])+$~ui Модификатор ui, определился с регистром http://www.php.su/lessons/?lesson_17 Верхний не обязателен, хотя можно и так... Источник: http://www.dcms-social.ru/forum/20/44/62293/