Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Validare mail in varie parti

    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:


    Codice 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 
    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;


  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    1 - qual'e' la domanda?
    2 - dov'e' la pagina con i campi interessati, le istruzioni di richiamo delle funzioni e gli oggetti che ricevono i messaggi?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    1 - qual'e' la domanda?
    2 - dov'e' la pagina con i campi interessati, le istruzioni di richiamo delle funzioni e gli oggetti che ricevono i messaggi?
    La domanda è se si può fare una cosa del genere e cioè mettere nella funzione un controllo della mail in più parti con i rispettivi alert.

    La pag è la solita http://www.bellezzalive.altervista.org/ + Contatti

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Comprati un servizio di verifica presso un qualunque web-service... farlo in javascript non e' possibile, solo controlli formali.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    Comprati un servizio di verifica presso un qualunque web-service... farlo in javascript non e' possibile, solo controlli formali.
    Compare?...se lo fanno loro vuol dire che il modo c'è, io quasi ci ero riuscito, il controllo riesco a farlo in più campi, ma più controlli nello stesso campo non ci riesco per ora

  6. #6
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    Comprati un servizio di verifica presso un qualunque web-service... farlo in javascript non e' possibile, solo controlli formali.
    Comprare?...se lo fanno loro vuol dire che il modo c'è, io quasi ci ero riuscito, il controllo riesco a farlo in più campi, ma più controlli nello stesso campo non ci riesco per ora

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Scusa se la mia risposta non e' pertinente, ma probabilmente non ho capito cosa intendi tu per "validare l'user" e tantomeno "validare il dominio"

    Magari potresti spiegarlo agli altri facendo qualche esempio di user valido o no, e di dominio valido o no
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    come dice br1 in javascript puoi fare un controllo formale e non un controllo sull'esistenza dell'indirizzo email.
    esistono parecchie espressioni regolari per validare un indirizzo email
    io te ne propongo una di buon livello non troppo lunga (quella che hai usato tu non è il massimo)
    metto tutto in un'unica funzione
    codice:
    function contaEmailScrivimi1() { 
    	var val = document.forms.mioform1; 
    	max=320 
    	var tuttoOK=true;
    	if (val.suoemail.value.length > max) { 
    		document.getElementById('emailx').innerHTML = "Mail: max 320 caratteri"; 
    		tuttoOK=false;
    	}  
    	else { 
    		document.getElementById('emailx').innerHTML = ""; 
    	} 
    	if (ControllaEmail(val.suoemail.value)){
    		document.getElementById('emailx2').innerHTML = ""; 
    	}
    	else {
    		document.getElementById('emailx2').innerHTML = "Inserire una Mail valida"; 
    		tuttoOK=false
    	}
    	if (tuttoOK) {
    		val.suoemail.style.borderColor=''; 
    		val.suoemail.style.backgroundColor=''; 
    		return true
    	}
    	else{
    		val.suoemail.style.borderColor='black'; 
    		val.suoemail.style.backgroundColor='#d8ecff'; 
    		val.suoemail.focus();
    		return false
    	}
     }
    se non è questo quello che intendevi cerca di spiegare diversamente magari facendo qualche esempio (riquotando br1)

  9. #9
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    Scusa se la mia risposta non e' pertinente, ma probabilmente non ho capito cosa intendi tu per "validare l'user" e tantomeno "validare il dominio"

    Magari potresti spiegarlo agli altri facendo qualche esempio di user valido o no, e di dominio valido o no
    Con l'avvento delle recenti regole, uno nelle mail può praticamente inserire tutto, bisogna anche tener presente che si possono creare alias immaginari, percui non esistono regole perlomeno nella parte iniziale.

    Però la regola della lunghezza esiste ancora, 64 caratteri per l'username e 255 per il dominio, è per quello che ho messo così:

    Codice PHP:
    var reg = new RegExp("^((.*)[@](.*)[.][a-z]{2,6})$"); 
    A me interessa che esce l'alert se supera i 64 (username), se supera i 255 il dominio e se non è corretto, es. manca la chiocciola o il punto alla fine

  10. #10
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    hai della documentazione delle "recenti regole"?
    non credo che si possano mettere due o più punti uniti come "nome..cognome@dominio.it"
    e poi molti caratteri speciali, anche se le "recenti regole" permettono di usarli, è meglio escluderli.

    Per controllare la lunghezza di username e dominio ti basta verificare che ci sia almeno la @
    splittando sulla @ ottieni un array di almeno 2 elementi: in posizione 0 c'è username, in posizione 1 il dominio
    codice:
    function ControllaEmail(strEmail){
    	var re=/^([a-z0-9\-_]+\.)*[a-z0-9\-_]+@([a-z0-9\-_]+\.)+[a-z]{2,4}$/i
    	return re.test(strEmail);
    }
    
    function contaEmailScrivimi1() { 
    	var val = document.forms.mioform1; 
    	var tuttoOK=true;
    	document.getElementById('emailx').innerHTML = ""; 
    	document.getElementById('emailx2').innerHTML = "";
    	if (val.suoemail.value.indexOf('@')>=0) { 
    		var username=val.suoemail.value.split('@')[0];
    		var dominio=val.suoemail.value.split('@')[1];
    		if(username.length>64)document.getElementById('emailx').innerHTML += "username: max 64 caratteri
    "; 
    		if(dominio.length>255)document.getElementById('emailx').innerHTML += "dominio: max 255 caratteri
    "; 
    		tuttoOK=(document.getElementById('emailx').innerHTML=="");
    	}  
    	if (!ControllaEmail(val.suoemail.value)){
    		document.getElementById('emailx2').innerHTML = "Inserire una Mail valida"; 
    		tuttoOK=false
    	}
    	if (tuttoOK) {
    		val.suoemail.style.borderColor=''; 
    		val.suoemail.style.backgroundColor=''; 
    		return true
    	}
    	else{
    		val.suoemail.style.borderColor='black'; 
    		val.suoemail.style.backgroundColor='#d8ecff'; 
    		val.suoemail.focus();
    		return false
    	}
     }
    e comunque la tua regular expression considera validi indirizzi come:
    codice:
    .aaa.@.aaa.aa
    .àà  \\à.@.à à \\\ à.àà
    ?!  ... \    @ <!|\\>/@@.aa
    e non valido se l'estensione di dominio è in maiuscolo
    codice:
    aaaaa@aaaaa.BIG

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.