Validare mail in varie parti

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Io ho già un codice che valida una mail, ho tentato modificarlo in modo che validi prima l'user (validità e lunghezza), e poi il dominio, ma non so nemmeno se si può pare una cosa del genere.

Io questi codici:

PHP:
/* Mail caratteri max inseribili */ 
function contaEmailScrivimi1() {
var val = document.forms.mioform1;
max=320
if (val.suoemail.value.length > max) {
val.suoemail.value = val.suoemail.value.substring(0,max);
val.suoemail.style.borderColor='black';
val.suoemail.style.backgroundColor='#d8ecff';
document.getElementById('emailx').innerHTML = "Mail: max 320 caratteri";
} 
else {
val.suoemail.style.borderColor='';
val.suoemail.style.backgroundColor='';
document.getElementById('emailx').innerHTML = "";
}
 }

...

function emailCampo1() {
var f = document.forms.mioform1;
if (f.suoemail.value.length != 0) { 
var reg = new RegExp("^((.*)[@](.*)[.][a-z]{2,6})$");                                  
if (!f.suoemail.value.match(reg)) { 
f.suoemail.style.borderColor='black'                                                                                                     
f.suoemail.style.backgroundColor='#d8ecff'
document.getElementById('emailx2').innerHTML = "Inserire una Mail valida";
f.suoemail.focus();
return false;
}
else{
document.getElementById('emailx2').innerHTML = "";
}  
 }  
else {
document.getElementById('emailx2').innerHTML = "";
}
return true;
}
 
Semplicemente prendi l'indirizzo email e lo dividi al simbolo @ e poi processi le diverse parti.

Ad esempio:

var str="john@google.com";
var n=str.split("@");
Il risultato di n sara' un array con i valori: john, google.com

Accedi all'array utilizzando n[0] e n[1]
var strlength = n[0].length;
if (strlength>50){document.write('string too long');
 
Ultima modifica:
Semplicemente prendi l'indirizzo email e lo dividi al simbolo @ e poi processi le diverse parti.

Ad esempio:

var str="john@google.com";
var n=str.split("@");
Il risultato di n sara' un array con i valori: john, google.com

Accedi all'array utilizzando n[0] e n[1]
var strlength = n[0].length;
if (strlength>50){document.write('string too long');

Ho quasi risolto, ma non ci sono, a questo codice esce l'alert della lunghezza massima solo quando inserisco la chiocciola, io invece dovrei fare in modo che l'alert esca quando raggiungo la lunghezza max dell'user o dominio, senza però che prima debba inserire la chiocciola

PHP:
//Conta lunghezza User e Dominio  
function contaEmail() {  
var f = document.forms.mioform1;  
document.getElementById('contaEmail').innerHTML = "";  
if (f.suoemail.value.indexOf('@')>=0) {  
var username=f.suoemail.value.split('@')[0]; 
var dominio=f.suoemail.value.split('@')[1]; 
if(username.length>20)
document.getElementById('contaEmail').innerHTML += "Username: max 20 caratteri<br />";  
if(dominio.length>20)
document.getElementById('contaEmail').innerHTML += "Dominio: max 20 caratteri";  
return false 
}
else { 
f.suoemail.style.borderColor='black';  
f.suoemail.style.backgroundColor='#d8ecff';  
f.suoemail.focus(); 
return true 
} 
}
 

Discussioni simili