2013-06-26 5 views
0

Я использую функцию проверки Zend Frameworks, и у меня возникли проблемы с работой валидатора Regex.Zend Validator & Regex patterns

array(
    'name' => 'Regex', 
    'options' => array(
     'pattern' => '[0-9a-zA-Z\s\'\.;\-]+', 
      'messages' => array(
      \Zend\Validator\Regex::INVALID_CHARACTERS => "Invalid characters in address" 
     ) 
    ), 
) 

У меня есть различные строки, которые нужно принимать буквы, цифры, пробелы и различные символы, и я использую код выше для различных полей.

Я читаю framework.zend.com, который не дает много деталей.

Мой вопрос: Я делаю это правильно? Это как использовать валидатор регулярных выражений с Zend? Любые лучшие примеры этого плавания вокруг Интернета?

Спасибо, ребята ...

ответ

1

Замените ваш шаблон с:

'pattern' => '/[0-9a-zA-Z\s\'.;-]+/' 

замечает:

Шаблон регулярного выражения должен быть ограничен. Здесь я выбрал / как разделитель, но вы можете использовать #, ~, @, |, ` ...

Вы не должны бежать специальный символ, как ., $, |, внутри класса символов. ; не является особым символом и не должен быть экранирован внутри или вне класса символов.