A parte il fatto che mancano i delimitatori:

codice:
"/^[a-zA-Z0-9-]{1,3}$/"
(al posto degli slash puoi mettere qualsiasi carattere che non sia contenuto nel pattern), la regexp mi sembra corretta