Zum Inhalt springen

Suche: RegEx-Validator-Script


Empfohlene Beiträge

naja, wie und warum ? ^^, dafür sind die PHP Dinger ja da. Du kannst es auch mit javascript machen...je nachdem was du tun willst.

Regexp ist so komplex - ich bin mir nicht sicher ob es da überhaupt "validatoren" gibt, valide ist fast alles, ob es das ist was du haben willst, ist eine andere frage.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es geht darum, einen vom Benutzer eingegebenen RegEx zu validieren, bevor ich ihn im weiteren Verlauf zum Validieren von anderen Werten benutze.

Die detaillierten Infos á la "an Stelle 14 muß die Klammer geschlossen werden" brauche ich dabei nichtmal - mir reicht einfach die Info "das ist ein valider RegEx" (oder eben nicht).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann prüfe doch einfach, mittels einer RegEx, ob in der "RegEx" des Users, welche ja nur ein String ist, wenn du sie bekommst, gültige RegEx-Zeichen (^,$,[,], usw...) drin stehen. Das ganze muss von der Syntax her ja nur wie eine RegEx aussehen.

Außerdem. Falls die RegEx vom User nicht valide ist, wird die RegEx eh nicht funktionieren. Und dann weißt du ja, ob der RegEx valide ist oder nicht :confused:

Grüße,

bytebrain

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann prüfe doch einfach, mittels einer RegEx, ob in der "RegEx" des Users, welche ja nur ein String ist, wenn du sie bekommst, gültige RegEx-Zeichen (^,$,[,], usw...) drin stehen. Das ganze muss von der Syntax her ja nur wie eine RegEx aussehen.

Genau das ist meine Frage: Wie sieht der RegEx aus, mit dem ich RegExe auf Validität prüfe?

Außerdem. Falls die RegEx vom User nicht valide ist, wird die RegEx eh nicht funktionieren. Und dann weißt du ja, ob der RegEx valide ist oder nicht :confused:

Wie fange ich den Fehler ab, der während der Ausführung von preg_match() mit einem fehlerhaften RegEx fliegt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau das ist meine Frage: Wie sieht der RegEx aus, mit dem ich RegExe auf Validität prüfe?

Wie fange ich den Fehler ab, der während der Ausführung von preg_match() mit einem fehlerhaften RegEx fliegt?

Hm... Imho wird es ja eine Mammut-RegEx, da in einer RegEx ja so ziemlich alles drin stehen kann: Zeichen, Sonderzeichen, gequotete Sonderzeichen, usw. ...

Es wird keinen Fehler bei dem Ausführen von preg_match() mit einer nicht validen regEx geben. preg_match() dient ja zur Mustererkennung. Ist die RegEx ungültig, wird das Muster nicht erkannt. Demnach ist der Rückgabewert von preg_match() = 0.

Schau dir aber doch zusätzlich noch die Doku auf php.net an:

PHP: preg_match - Manual

hth,

bytebrain

Edit:

Alternativ: Vielleichst wirst du hier fündig => http://regexlib.com/

Bearbeitet von bytebrain
Link zu diesem Kommentar
Auf anderen Seiten teilen

Imho wird es ja eine Mammut-RegEx

Deswegen frag ich lieber vorher, ob dieses Rad nicht schonmal erfunden wurde ;)

Es wird keinen Fehler bei dem Ausführen von preg_match() mit einer nicht validen regEx geben.

Einspruch. Dieses Script

	$regex = "/[/";

	if (preg_match($regex, "String")) 

		echo "ja";

	else 

		echo "nein";

fliegt mir mit folgendem Fehler um die Ohren:

Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 1 in C:\opt\CoCreate\OneSpace_Manager_2007\Apache\htdocs\arvid\regextest.php on line 4
Soweit soll es eben nicht kommen. Daß "nein" ausgegeben wird, hilft mir nix; ich weiß ja nicht, obs einfach nicht matcht oder tatsächlich der RegEx falsch ist.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Fehlermeldungen unterdrücken und preg_match auswerten. Ein fehlerhafter regex gibt FALSE zurück.


$regex = "/[/";
$result = @preg_match($regex, "String");
if ($result === FALSE) {
echo "Error parsing regex $regex\n";
} elseif ($result == 0) {
echo "No match\n";
} else {
echo "match\n";
}
[/php]

[code] ~> php test.php Error parsing regex /[/ [/code]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...