<?php
$str = "QR12345678";
var_dump( preg_match('/^[A-Z]{1,3}[0-9]{4,10}$/', $str) );
var_dump( preg_match('/^[A-Z]{1,3}?[0-9]{4,10}$/', $str) );
var_dump( preg_match('/([A-Z]{1,3})?[0-9]{4,10}$/', $str) );
var_dump( preg_match('/^([A-Z]{1,3})?[0-9]{4,10}$/', $str) );
var_dump( preg_match('/[A-Z]{0,3}[0-9]{4,10}/', $str) );
var_dump( preg_match('/([A-Z]{1,3})*[0-9]{4,10}$/', $str) );
preferences:
35.59 ms | 402 KiB | 5 Q