Credo di essere appena arrivato alla conclusione che si tratti della espressione regolare, ho aggiunto {4,20} prima della $ di chiusura stringa e ora se l'user inserito è compreso in quell'intervallo di caratteri sembra funzionare a dovere.
Era unicamente quello l'errore?
Pensate possa andare bene come espressione regolare per un campo user?