Non riesco a riprodurre il problema. C’è la possibilità che tu abbia inserito qualche tipo di spazio invisibile o qualcosa di simile quando è apparso il messaggio di errore “deve contenere solo numeri, lettere, trattini, punti e trattini bassi”?
Il controllo del nome utente viene eseguito sul server, quindi se ci fosse stato un problema con l’espressione regolare, avrebbe dovuto generare sempre gli stessi risultati per lo stesso input.