/ / Begrenzen Sie die Stringlänge mit RegEx - php, regex

Begrenzen Sie die Stringlänge mit RegEx - php, regex

Ich habe das geschrieben regex zum Überprüfen der Eingangsnummer aus meinem Formular:

if (!preg_match("/^0d{10}+|^9d{9}+/",$_POST["number"])){
echo "Error";
}else{
echo "Ok";
}

Dieser Code überprüft die minimale Länge, aber wenn die Länge mehr als 10 oder 9 Zeichen beträgt, kann diese Regex nicht funktionieren!

Was soll ich machen ? Soll ich mit überprüfen strlen nach Regex oder ich kann die maximale Länge begrenzen?

AKTUALISIEREN:

Die Stringlänge sollte genau 10 Zeichen lang seinwenn es mit 0 beginnt und genau 9 Zeichen lang sein sollte, wenn es mit 9 beginnt, sollte es auf eine andere Weise falsch sein (mehr oder weniger Länge, beginnen Sie mit verschiedenen Zahlen und ...)

Antworten:

0 für die Antwort № 1

Möglicherweise möchten Sie die Saite nur am Ende mit Hilfe von verankern $. Kann auch fallen lassen + nach dem numerischen Quantifizierer:

^(?:0d{9}|9d{8})$

Siehe Test bei regex101.com


0 für die Antwort № 2

Sie können diese Regex verwenden:

"/^(0d{9}|9d{8})$/"

Dadurch wird die Zeichenfolge Länge genau 10 Zeichen, wenn es mit 0 beginnt und genau 9 Zeichen sein sollte, wenn die Eingabe mit 9 beginnt.