Visualizzazione dei risultati da 1 a 4 su 4

Discussione: controllo campo mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    495

    controllo campo mail

    ciao!
    sto facendo dei form dove inserisco udername password e e-mail utente.
    Mi date un'idea su come effettuare un controllo sulla mail per stabilire se è un indirizzo do posta valido ad esempio prova@libero.it o se sis ta scrivendo una cosa assurda tipo prova.it?
    E' giusto fare un controllo del genere o è una cosa inutile?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    96

    espressioni regolari

    in giro ne trovi un mucchio, se ti basta una cosa minimalista:
    \S@\S\.[a-zA-Z]{2,4}

  3. #3
    Non so se è completo (ammetto che non so granché di RegExp), ma non accetta anche roba del tipo @.it?

    io farei una funzione più lunga, ma più funzionale:

    Codice PHP:
    function checkEmail(str)
    {
        var 
    splitted str.split('@');
        
    //Se vi è più di un @ non è valido
        
    if(splitted.length != 2)
            return 
    false;
        
        
    //Se la parte di SX è minore di 1 non è valido
        
    if(splitted[0].length 1)
            return 
    false;
         
        
    //Non mi ricordo se ci va '\.' qui... 
        
    var splitted2 splitted[1].split('.');
        
        
    //Se tra l'@ ed il . non ci sono caratteri non è valido
        
    if(splitted2[0].length 1)
            return 
    false;
        
        
    //Dopo il punto ci devono essere tra i 2 ed i 5 caratteri (mi sembra 5 non 4), sennò non è valido
        
    if(splitted2[1].length || splitted2[1].length 5)
            return 
    false;
            
        return 
    true;


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    96
    Esistono anche le cardinalità e i quantificatori, qualunque cosa tu scriva nella funzione è riproducibile con un'unica espressione regolare, se vogliamo passare ad a@b.it, allora:
    \S+@\S+\.[a-zA-Z]{2,4}, se il primo carattere deve essere una lettera (mi pare si possa usare \w, anzichè enumerare, comunque..)
    [a-zA-Z]\S?@[a-zA-Z]\S+\.[a-zA-Z]{2,4}.

    Era solo per dare un'esempio, ripeto quanto già detto: se vai su google a cercare espressioni regolari per mail ne trovi una valanga, anche di complicatissime.

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.