Здравствуйте. прошу помощи в написании регулярки для проверки логина при регистрации пользователя.
Параметры:
Логин может состоять только из букв латинского алфавита, цифр, нижнего подчеркивания, тире.
Логин может начинаться только с буквы или цифры.
Заканчиваться только буквой или цифрой.
в логине может быть только один дефис или одно подчеркивание. (именно или дефис или подчеркивание)
Логин может начинаться только с буквы или цифры
^[a-z\d]
Заканчиваться только буквой или цифрой
[a-z\d]$
в логине может быть только один дефис или одно подчеркивание. (именно или дефис или подчеркивание)
[a-z\d]*[_-]?[a-z\d]*
Шаблон в сборе:
~^[a-z\d][a-z\d]*[_-]?[a-z\d]*[a-z\d]$~i
Вместе с php будет выглядеть так:
$str = '0we-r9';
$patt = '~^[a-z\d][a-z\d]*[_-]?[a-z\d]*[a-z\d]$~i';
preg_match($patt, $str, $arr);
var_dump($arr);
Вот так, если дефиса или подчёркивания может и не быть:
/^([^\W_]|[^\W_]+[_\-]?[^\W_]+)$/
Если обязательно что-то из этого должно быть:
/^[^\W_]+[_\-][^\W_]+$/
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеПроблема в следующем
Здравствуйте, пытаюсь обновить поле, запросом - UPDATE users SET status = {$status} WHERE id = {$id}
Имеется фильтр в админке сайта, какие атрибуты нужно использовать для изменения лейблов на значения из словаря?