Loading...
Обучение/Помощь новичкам | Проверка на язык
Крч что должно быть в регулярке чтобы проверяло на: Имя может содержать только русские или английские буквы, цифры, пробел, нижнее подчеркивание и знак минуса. Имя должно начинаться и заканчиваться только буквой или цифрой
?
ApsenT , чтоб недовало регать пробелы, точки, и там блок не меньше 4 символов?
Baton4ik , да, написано какие можно в первом посте
ApsenT ,
Как то так

$ru = '/^[А-Яа-яЁё]* ?[А-Яа-яЁё]*$/u';
$en = '/^[A-Za-z]* ?[A-Za-z]*$/';
$ok = 0;

if ( (preg_match($ru, $name ) AND !preg_match($en, $name )) OR (preg_match($en, $name ) AND !preg_match($ru, $name )) )
{
$ok = 1;
}

if ( !$ok )
{
$error .= '- ' . $lang['reg.php']['error']['name_reg'].'<br/>';
}
вот так

$str = 'строка, которую проверяем';
if (!preg_match('#(?:[^a-zа-я0-9 \-\_]|^[^a-zа-я0-9]|[^a-zа-я0-9]$|^.{0,3}$)#i', $str) {
echo 'Всё гуд';
}
Reptile (16.05.2018 в 06:04)
вот так

$str = 'строка, которую проверяем';
if (!preg_match('#(?:[^a-zа-я0-9 -_]|^[^a-zа-я0-9]|[^a-zа-я0-9]$|^.{0,3}$)#i', $str) {
echo 'Всё гуд';
}

неа, на $%$ не ругается, а на цифры ругается, на русские символы, на _,-
Baton4ik (16.05.2018 в 04:22)
ApsenT ,
Как то так

$ru = '/^[А-Яа-яЁё]* ?[А-Яа-яЁё]*$/u';
$en = '/^[A-Za-z]* ?[A-Za-z]*$/';
$ok = 0;

if ( (preg_match($ru, $name ) AND !preg_match($en, $name )) OR (preg_match($en, $name ) AND !preg_match($ru, $name )) )
{
$ok = 1;
}

if ( !$ok )
{
$error .= '- ' . $lang['reg.php']['error']['name_reg'].'<br/>';
}

тоже не работает
ApsenT , Опиши проблему
php.net/manual читай preg_replace , preg_filter, preg_match
preg_match('/[^а-я]+/msi',$ваша_строка);
Онлайн: 7
Время:
Gen. 0.1155
(c) Bym.Guru 2010-2026