/ / Ограничи дължината на низовете с RegEx - php, regex

Ограничи дължината на низовете с RegEx - php, regex

Написах това regex за проверка на входния номер от моя формуляр:

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

този код ще провери минималната дължина, но ако дължината е повече от 10 или 9 знака, този регекс не може да работи!

Какво трябва да направя ? трябва да проверя с strlen след Regex или мога да огранича максималната дължина?

UPDATE:

дължината на низа трябва да бъде точно 10 знакаако започнете с 0 и трябва да сте точно 9 знака, ако започнете с 9 и трябва да върнете фалшива по друг начин (повече или по-малко дължина, започнете с различни числа и ...)

Отговори:

0 за отговор № 1

Вероятно просто искате да закотвите низа в края с помощта $, Също така може да изпуснете + след цифровия количествен израз:

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

Вижте теста на regex101.com


0 за отговор № 2

Можете да използвате този регекс:

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

Това ще позволи дължина на низа точно 10 знака, ако започва с 0 и трябва да бъде точно 9 знака, ако входът започва с 9.