Voglio convalidare una stringa che può essere un'e-mail o più e-mail separate da virgole.Convalida più messaggi di posta elettronica Comma Separato con javascript
Ad esempio:
[email protected] -> TRUE
disegno di legge -> FALSO
bill.gates @ microsoft.com, steve.jobs @ apple.com" -> TRUE
bill.gates @ microsoft.com, steve.jobs @ apple.com, bob "-> false
bob, bill.gates @ microsoft.com, steve.jobs @ apple.com" -> false
sono venuto con il prossimo codice che funziona con i casi di test
function validateEmail(field) {
var regex=/\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
return (regex.test(field)) ? true : false;
}
function validateMultipleEmailsCommaSeparated(value) {
var result = value.split(",");
for(var i = 0;i < result.length;i++)
if(!validateEmail(result[i]))
return false;
return true;
}
È questo il modo più rapido per farlo? Cosa succede se voglio consentire; e, come separatore?
Modifica consigliata: "... dovresti controllare sul lato client se l'indirizzo contiene ** uno e solo uno ** @ ..." (tuttavia, presumo che "@" non sia consentito nel locale -part ??) – Kristen
@Kristen: '@' è consentito nelle stringhe tra virgolette, ma solo lì; Non ho mai visto le stringhe utilizzate, sebbene possano fornire un modo semplice per confondere i bot spam; si dovrebbe anche tenere a mente che i seguenti caratteri sono validi anche senza citare:! # $% & '* + -/=?^_ '{|} ~ – Christoph
btw, penso di aver letto una volta che c'erano anche persone che usavano la posta -indirizzi con un dominio ccTLD non elaborato dopo "@"; non ricordo in quale paese, però ... – Christoph