Regex accetta 2 volte il trattino

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
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 vul "zero o una volta", perché non funziona?


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})))$");
 
Ho risolto:

1. accetta un solo carattere iniziale
2. accetta il punto molte volte ma non consecutive e non all'inizio o alla fine
3. accetta il trattino una sola volta, non vicino al punto e non all'inizio o alla fine


PHP:
new RegExp("^([A-Za-z0-9](([A-Za-z0-9]*[.]?[A-Za-z0-9]+))*([-]?[A-Za-z0-9]+)?(([A-Za-z0-9]*[.]?[A-Za-z0-9]+))*@[A-Za-z0-9]+[-]?[A-Za-z0-9]+(\.[a-z]{2,6}))$");
 

Discussioni simili