2012-03-30 22 views
1

Im Validieren eines Formulars und seiner einfach zu validieren Zahlen, Buchstaben az und so weiter, aber wenn ich zu dem Punkt komme, wo ich ein Feld validieren muss, die nur die Zeichen (az und Sonderzeichen wie als öçğüiş) mit mindestens einem Platz nur bin ich wirklich fest!Php ereg Validierung eines Formulars

habe ich versucht, die folgende und einige andere Techniken ohne Erfolg:

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

Hat jemand eine Lösung dafür bekam. Vielen Dank.

+0

[ereg wurde veraltet] (http://php.net/manual/en/function.ereg.php). Haben Sie [PCRE] (http://php.net/manual/en/book.pcre.php) in Betracht gezogen? – cmbuckley

+0

Ereg wurde ab PHP 5.3.0 dekomprimiert. Von dieser Funktion wird dringend abgeraten. – ajreal

+0

Ich habe nie solche Zeichen in Regex-Übereinstimmung verwendet, aber ich habe gehört, dass ereg veraltet sein wird – kappa

Antwort

0

Ereg has been deprecated ab PHP 5.3.0 wie andere gesagt und Sie sollten nicht EREG verwenden.

Das unten stehende Snippet entspricht Ihrer Validierungsanforderung: a-z und Sonderzeichen wie z. B. öçğüiş mit mindestens EINEM RAUM.

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

Über/u Modifikator [von documentation]:

Dieser Modifikator schaltet zusätzliche PCRE-Funktionalität an unvereinbar mit Perl ist. Musterzeichenfolgen werden wie UTF-8 behandelt.