/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/скопировал с джона, работает, а все остальное нет. лол
/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/ПеревозЧЕГ, а у тебя должно выполняться условие
if (preg_match("|^\D[A-Za-z0-9\._-]{4,20}|i",$login))Sitego,
if (preg_match("/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/",$login)){
$error['login'][] = 'Используйте буквы англ. языка и цифры.';
}# ПеревозЧЕГ (09.06.2016 / 23:44)Попробуй в приведённом коде заменить
Sitego, if (preg_match("/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/",$login)){
$error['login'][] = 'Используйте буквы англ. языка и цифры.';
}
Идет проверка логина, если логин норм то пот
preg_match("/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/",$login))preg_match("/^\D[A-Za-z0-9\._-]{4,20}/",$login)) Sitego, Не работает. работает только Олегов код и все
пойду спать на сегодня. Весь вечер убил зря.
http://yournet.kz/blog/php/pod ... henij Вот тут взял рег. выражение и тоже не работает
ПеревозЧЕГ, ещё попробуй в том коде, что я дал, убрать начало строки ^
Проверил на локалке, работает.
/*
нужен логин, в котором можно использовать латинские буквы -_ и точку, при этом логин не с цифры должен начинаться
*/
if (!preg_match('~^[^\d][a-z\d\._-]+~i', $login)) {
$error['login'][] = 'Используйте буквы англ. языка и цифры.';
} # ПеревозЧЕГ (09.06.2016 / 23:44)чукотская регулярка, по методу "от противного"
Sitego, if (preg_match("/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/",$login)){
$error['login'][] = 'Используйте буквы англ. языка и цифры.';
}
Идет проверка логина, если логин норм то пот
ramzes,
Док, только + в этом куске [^\d]+ не обязателенДа, подправил шаблон
ПеревозЧЕГ, вот проверил, всё работает, изменишь как тебе надо. Я правильный код изначально написал, просто не добавил конец строки. Если надо пароль с ограничением от 4 до 20 символов, то писать {3,19}, потому что в начале отрицание символа (цифры).
Тестировал так
$login = 'Login';
if (!preg_match("|^\D[A-Za-z0-9\.\_\-]{3,19}$|",$login)){
echo 'Используйте буквы англ. языка и цифры.';
}else{
echo 'Всё в норме!';
}