4 Stimmen

Nur bestimmte Zeichen in PHP zulassen

Ich muss prüfen, ob eine Variable etwas ANDERES als a-z A-Z 0-9 und das Zeichen "." (Punkt) enthält. Für jede Hilfe wäre ich dankbar.

10voto

ʞɔıu Punkte 44966

Es gibt zwei Möglichkeiten, dies zu tun.

Angabe, ob die Variable ein beliebiges Zeichen enthält no in den zulässigen Bereichen. Dies wird durch die Verwendung einer negativen Zeichenklasse [^...] erreicht:

preg_match('/[^a-zA-Z0-9\.]/', $your_variable);

Die andere Alternative besteht darin, dafür zu sorgen, dass jedes Zeichen in der Zeichenkette es im zulässigen Bereich:

!preg_match('/^[a-zA-Z0-9\.]*$/', $your_variable);

8voto

maxnk Punkte 5705
if (preg_match("/[^A-Za-z0-9.]/", $myVar)) {
   // make something
}

Das Wichtigste ist hier die Verwendung von "^" in der []-Gruppe - es passt auf alle Zeichen außer denen in Klammern.

0 Stimmen

Ich denke, dass dies nur Zeichenketten erkennen würde, die aus sólo die nicht spezifizierten Zeichen - es könnte besser sein, /[^A-Za-z0-9] zu verwenden \. ]/

0 Stimmen

Viel besser. Aber ich schlage immer noch /[^A-Z \d. ]/i, da es übersichtlicher ist und weniger getippt werden muss. Und Sie müssen das "." innerhalb von Zeichenklassen nicht ausschreiben.

8voto

PEZ Punkte 16398
if (preg_match('/[^A-Z\d.]/i', $var))
  print $var;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X