Вот регулярное выражение я в настоящее время (какой вид работ):PHP: Regex для точного соответствия
$regex = '/[\w ]{7,30}/';
Моя редакция выглядит то, что я хочу, но он не работает на всех:
$regex = '^[\w ]{7,30}$';
Вот как я использую регулярное выражение:
public function isValid($value)
{
$regex = '/^[\w ]{7,30}$/';
return preg_match($regex, $value) ? true : false;
}
Я пытаюсь соответствовать следующим образом:
- Любой нижний/верхний регистр буквы
- Любая цифра
- может содержать пробелы
- не может содержать разрывы строк или табуляции
- Минимум 7 символов
- максимум 30 символов
Допустимые входы:
- Тестирование
- Тестовые ИНГ
- test123
- Тестовые 123
- Test___
инвалидные входы:
- Тестирование #
- Testin8 +
- Tester1 &
Первое регулярное выражение будет соответствовать всем действительным входам, а также недействительным (до тех пор, как первый четыре символа является действительным, он не заботится об остальных). Второе регулярное выражение ничего не соответствует.
'^ ... $' соответствует всей строке. '\ w' соответствует символам,' \ d' соответствует цифрам – knittl
также для лучшего использования пробелов \ s/[\ w \ s] {7,30}/ –
@alickus '\ s' включает в себя разрывы строк и вкладки, поэтому Нет, лучше использовать '\ s'. –