PHP: регулярное выражение для точного соответствия
Вот регулярное выражение, которое я в настоящее время имею (какой вид работ):
$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 символы
Допустимые входные данные:
- тестирование
- Test ing
- Test123
- тест 123
- тест_ _ _
Недопустимые входные данные:
- тестирование#
- Testin8+
- Tester1&
Первое регулярное выражение будет соответствовать всем допустимым входным сигналам, а также недопустимым (пока первые четыре символа допустимы, остальное его не волнует). Второе регулярное выражение ничему не соответствует.
Comments