Sonderzeichen --> Überprüfen

Hi campari,

kannst du das nicht mit einer IF-Abfrage machen, in der du den String abfragst?
PHP:
if( strlen( $string ) < 50 && strlen( $string ) > 5 )
{
 //String zwischen 5 und 50 Zeichen lang
}
else
{
 //String NICHT zwischen 5 und 50 Zeichen lang
}
 
Eigentlich ist das mit preg_match ja möglich, aber ich kriegs einfach nicht hin.
Verwende jetzt strlen (wieder eine if-Schleife mehr:/). Vielleicht ist ja jemand geschickter als ich und hat eine Idee.

Grüsse
 
Bei einem regulären Ausdruck müsste es wie folgt aussehen:
PHP:
!preg_match('/^[a-zA-Z0-9-_.]{5,50}$/', $string)
 
Hallo,

genau das hab ich gesucht!
Ich möchte noch damit in meinem Formular keine Leerzeichen möglich sind!

Wie stell ich das am besten an?

MfG proloser


EDIT:

Funktioniert eigentlich aber nur so ...

PHP:
preg_match('/[^a-zA-Z]/', $string)

{5,50} <-- Funktioniert bei mir nicht wirklich!
 
Zuletzt bearbeitet:
Hab es jetzt so und funktioniert auch

PHP:
if (!preg_match('!^([\w]*([-_.\s])?[\w]*){5,50}$!',trim($_POST['user']))) $error .= '<li>Der Benutzername enth&auml;lt Sonderzeichen oder ist zu lang/kurz (5 - 50)</li>';
 
Glaube Du hast Gumbos Vorschlag falsch verstanden!

preg_match('/^[a-zA-Z0-9-_.]{5,50}$/', $string) // gibt den Integerwert 0 oder 1 zurück!

Also musst Du nur noch prüfen!

Beispiel:

PHP:
$string = "TESTEN"; //Stinglänge 6
$pruefe = preg_match('/^[a-zA-Z0-9-_.]{5,50}$/', $string);
if($pruefe == 1)
{
echo "Alles OK!";
}
else
{
echo "Falsche Angaben!";
}
 
Hallo,

ich überprüfe mein Formular so ...

PHP:
if(!preg_match("/[^a-zA-Z-ÖöÄäÜüéß ]{1,2}/", $_POST['submit_name'])) { 
  $form_check = "false";
}

Es funktioniert eigentlich ganz gut nur ist es möglich einfach das Feld leer zu lassen, muss ich da extra noch mit "empty()" überprüfen?

Mit {1,2} dürfte nichts eingeben eigentlich gar nicht möglich sein oder?

MfG
 
Zurück