replace(/^\.|[^\d\.]/gi,'').replace(/\.\./g1,'\.')

Cosi' superi il problema di piu' puntini affiancati... Ma se mette puntini separati da numeri ci ricaschi.

Tieni presente pero' che e' praticamente impossibile impedire ad un (u)tonto di sbagliare...

Insomma, se non basta escogitiamo un controllo piu' pressante

ciao