Ich verwende das: if(!preg_match('/^+[0-9]$/', '+1234567'))
und bekomme:
Warnung: preg_match () [function.preg-match]: Kompilierung fehlgeschlagen: Bei Offset 1 ist nichts zu wiederholen
irgendwelche Ideen warum?
update : Verwenden Sie jetzt: if(!preg_match('/^\+[0-9]$/', '+1234567'))
und ich bekomme keine Übereinstimmung.
irgendwelche Ideen warum?
+
ist ein Sonderzeichen, das 1 oder mehr Zeichen des vorherigen Zeichens angibt. Wenn Sie es nicht umgehen, wenden Sie es auf das Einfügezeichen an. entkomme es mit \
und es wird ein literales Pluszeichen gefunden.
BEARBEITEN:
Der Grund, warum es nicht übereinstimmte, ist, dass Sie eine Ziffer von 0-9 und das Ende der Zeichenfolge mit $
angegeben haben. Sie müssen eine variable Anzahl von Ziffern eingeben.
Kürzere Version:
%Vor% '/^\+[0-9]$/'
bedeutet, dass der Anfang der Zeile ein Pluszeichen gefolgt von einer Nummer gefolgt vom Zeilenende sein muss.
'/^\+[0-9]+$/'
bedeutet, dass der Beginn der Zeile ein Pluszeichen sein muss, gefolgt von einer einer oder mehreren Zahlen und dem Zeilenende.