/ / Ogranicz długość ciągu za pomocą RegEx - php, regex

Ogranicz długość ciągu za pomocą RegEx - php, regex

ja to napisałem regex do sprawdzania numeru wejściowego z mojego formularza:

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

ten kod sprawdzi minimalną długość, ale jeśli długość jest większa niż 10 lub 9 znaków, to wyrażenie nie działa!

Co powinienem zrobić ? powinienem sprawdzić strlen po Regeksie czy mogę ograniczyć maksymalną długość?

AKTUALIZACJA:

długość łańcucha powinna wynosić dokładnie 10 znakówjeśli zaczynasz od 0 i powinno być dokładnie 9 znaków, jeśli zaczynasz od 9, i powinieneś zwracać fałsz na inne sposoby (mniej więcej lub więcej, zacznij od różnych liczb i ...)

Odpowiedzi:

0 dla odpowiedzi № 1

Być może po prostu chcesz zakotwiczyć ciąg na końcu za pomocą $. Również może upuścić + po kwantyfikatorze numerycznym:

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

Zobacz test na stronie regex101.com


0 dla odpowiedzi nr 2

Możesz użyć tego wyrażenia regularnego:

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

Umożliwi to długość łańcucha dokładnie 10 znaków, jeśli zaczyna się od 0 i powinna wynosić dokładnie 9 znaków, jeśli wejście zaczyna się od 9.