Ho fatto questa regex che dovrebbe accettare il trattino una volta sola prima della chiocciola, invece se metto così me la valida k-k-h-h@...
Perché se è vero che il punto di domanda vuol "zero o una volta", perché allora accetta il trattino più volte?
Codice PHP:
var reg = new RegExp("^([A-Za-z0-9]([-]?([A-Za-z0-9]\.)*[A-Za-z0-9]+)*@([A-Za-z0-9]+(\.[a-z]{2,6})))$");