2012-03-30 5 views
1

Я проверяю форму и ее легко проверяю цифры, буквы az и т. Д., Но когда я добрался до точки, где мне нужно проверить поле, которое должно содержать только символы (az и специальные символы, такие как как öçğüiş) с хотя бы одним пространством, только я действительно застрял!Php ereg, подтверждающий форму

Я попытался следующие, и некоторые другие методы без успеха:

function validateAlphaSpecial($value) { 
    if (ereg("/^[\p{L}\s]+$/", $value, $regs)) { 
      echo 'true'; 
     } else { 
      echo 'false'; 
     } 
} 

Кто-нибудь есть решение для этого. Спасибо.

+0

[ereg устарел] (http://php.net/manual/en/function.ereg.php). Вы считали [PCRE] (http://php.net/manual/en/book.pcre.php)? – cmbuckley

+0

Ereg был DEPRECATED с PHP 5.3.0. Опираясь на эту функцию, очень не рекомендуется. – ajreal

+0

Я никогда не использовал такие символы в регулярном выражении, но я слышал, что ereg будет устаревшим – kappa

ответ

0

Ereg has been deprecated с PHP 5.3.0, как и другие, и вы не должны использовать EREG.

Ниже приведенный ниже фрагмент ниже соответствует требованиям проверки: a-z и специальные символы, такие как ççğüiş с по меньшей мере одним пространством.

if(preg_match("/[\p{L}]\s{1,}+/u", $value) > 0) { 
    echo 'Valid'; 
} else { 
    echo 'Not valid'; 
} 

О/и модификатор [от documentation]:

Этот модификатор включает дополнительную функциональность PCRE, которая является несовместимой с Perl. Строки шаблонов рассматриваются как UTF-8.