здравствуйте, есть регулярка для проверки ника при регистрации ~^[^-_][a-zA-Z_\-0-9]*$~u
но почему-то пользователь может ввести такой #ник , хэштег одобряется только если он стоит как первый символ, не подскажите как это исправить?
Если необходимо сделать так, чтобы первый символ был отличен от -
и _
, можно исправить ваш исключающий символьный класс на блок предварительного просмотра вперёд:
~^(?![-_])[a-zA-Z_0-9-]*$~u
^^^^^^^^
Или же воспользоваться
~^(?:[a-zA-Z0-9][\w-]*)?$~D
См. демо
Подробности
^
-начало строки(?:[a-zA-Z0-9][\w-]*)?
- 1 или 0 последовательностей след. шаблонов:
[a-zA-Z0-9]
- 1 ASCII-буква или цифра[\w-]*
- 0 и более букв/цифр/_
(\w
) и/или -
$
- конец строки (модификатор D
заставит $
найти позицию непосредственно в конце строки)Пусть ник начинается только на букву, а содержит буквы, цифры и знаки "_" и "-"
~^[a-zA-Z][a-zA-Z_\-0-9]*$~u
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Что такое "Правило одного определения"?
После появления запроса на ввод чисел программа вылет с такой ошибкой: Segmentation fault (core dumped)
Добрый день! У меня такая проблема компилирую exe, который необходимо запустить с флеш носителя на другом PCПри запуске, АВ Avast пропускает исполняемый...
Я считываю строку, состоящую из чисел, разделенных различными символами, как удалить из строки все символы, заменив их на пробелы(хочу посчитать...