Funktion zur ueberpruefung von Strings

FingerSkill

Erfahrenes Mitglied
Hi, ich brauche eine Funktion die mir ueberprueft ob ein String nur aus Buchstaben und Ziffern besteht oder ob auch Sonderzeichen enthalten sind. Ich habs so probiert aber es funktioniert nicht:

PHP:
function check_string($eingabe) {
    if (eregi("[a-zA-Z0-9_]",$eingabe)==1) {
      return true;
    }
	else
	{return false;
    }
  }

mfg fap
 
Hallo,

[phpf]ereg[/phpf] und Konsorten sollten nicht mehr verwendet werden. Stattdessen kann man [phpf]preg_match[/phpf], [phpf]preg_replace[/phpf] usw. einsetzen.

Mit deinem regulären Ausdruck überprüfst du nur, ob mindestens ein Buchstabe, eine Zahl oder ein Unterstrich im String vorkommt. Mit /^[A-Za-z0-9_]*$/ (in Verbindung mit [phpf]preg_match[/phpf]) solltest du mehr Glück haben.

Grüße,
Matthias
 
Ich halte es für sinnvoller, sowohl die Zeichenklasse als auch den Rückgabewert der Funktion zu negieren:
PHP:
function check_string( $eingabe )
{
	return !preg_match('/[^A-Za-z0-9_]/', $eingabe);
}
 
Zurück