Ciao a tutti.
Ho bisogno una mano con la validazione lato client di un form di login a cui sto lavorando. Mi serve una verifica che permetta di riconoscere eventuali anomalie nel campo username, correggerne alcune e mostrare un errore in altre.

Il form è composto da due textbox: il primo accetta come valore una stringa di testo nel formato "nome.cognome" ed il secondo accetta una password. I controlli devono essere fatti essenzialmente sul primo campo.

Bisogna verificare:
-che non vi siano spazi (eventualmente rimuoverli)
-che non vi siano numeri
-che non vi siano "vuoti" prima o dopo il punto (.cognome, nome.)
-che non vi sia più di un punto separatore

Bisogna memorizzare il risultato in due variabili (nome e cognome) e renderle tutte in minuscolo... passandole in un secondo momento al server.

Esempio:
stefano.rossi --> ok --> nome: stefano, cognome: rossi.
SteFano.Rossi --> ok --> nome: stefano, cognome: rossi.
stefano.rossi --> ok --> viene tolto lo spazio prima del nome
ste fano.rossi --> ok --> viene tolto lo spazio interno alla stringa
ste.fano.rossi --> non valido, troppi separatori
stefano82.rossi --> non valido, presenza di un numero
ste_fano.rossi --> non valido, carattere non permesso (underscore)
stefano. --> non valido, manca un campo

Credo che il tutto si possa fare con un'espressione regolare ma non riesco proprio a venirne ad una. La verifica lato client è necessaria onde evitare inutili richieste al server o ricaricare la pagina mostrando un errore.

Le 3 variabili così ottenute (nome, cognome, password) devono poi essere confrontate con quelle presenti in una tabella di un database postgreSQL, ma per questo me la cavo da solo.

Qualcuno mi aiuta? Vi prego...non ditemi di riscrivere il form con due campi separati per lo username... o di scrivere una label in rosso che dica "fare attenzione ad inserire il testo in modo corretto". Non devo aggirare il problema, devo risolverlo... e mi affido a chi ne sa più di me.