Это регулярное выражение гарантирует, что число не начинается с нулей:
if(preg_match('/^[1-9]\d{4}$/', $number))
echo "Number is 5 digits\n";
else
echo "Number is not five digits\n";
Но почему бы не использовать is_numeric()
вместо?
if(is_numeric($number) && $number >= 10000 && $number <= 99999)
echo "Number is 5 digits\n";
else
echo "Number is not five digits\n";
Или вы можете просто привести его к целому числу, чтобы убедиться, что оно имеет только целое значение:
if(strval(intval($number)) === "$number" && $number >= 10000 && $number <= 99999)
echo "Number is 5 digits\n";
else
echo "Number is not five digits\n";