Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    come riconoscere se è una email

    Salve a tutti
    ho un piccolo problema da risolvere.

    Nel mio blog dò la possibilità (chiaramente) di lasciare dei commenti al post ... ma essendo un sito per un target di teenager, ultimamente hanno imparato ad usare quello spazio per scambiarsi indirizzi email (MSN grrr)

    All'inizio avevo fatto uno stupidissimo controllo sulla sola @, quando c'era questa nel testo l'invio del msg falliva ... però ho molti utenti che nel nickname portano una chiocciola (es. m@ria) e questo chiaramente crea confusione.

    E' possibile capire se nel testo c'è un indirizzo email e bloccare quindi l'invio del msg?

    Grazie mille
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Sicuramente con un'espressione regolare si può anche fare ma ci metterebbero poco ad aggirare l'ostacolo e a scriverlo come nome at provider dot it per esempio o forme simili.

  3. #3
    Originariamente inviato da nicola75ss
    Sicuramente con un'espressione regolare si può anche fare ma ci metterebbero poco ad aggirare l'ostacolo e a scriverlo come nome at provider dot it per esempio o forme simili.
    beh per me sarebbe già cmq un buon inizio
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    funzioncina che non può mancare in nessuna libreria

    function is_mail($email) {
    $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    return preg_match($r, $email);
    }


  5. #5
    grazie guido .. il problema è che io devo scovare una email all'interno di un intero testo $comment ... nel tuo caso invece si aspetta di ricevere una mail da un "campo" email ....

    giusto ?
    Perchè uso Maxthon? | Mi piace questa chat

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    45
    Con questa funzione Javascript puoi controllare se all'interno della variabile che passi è presente una email :

    Codice PHP:
    <script>
    function 
    emailvalidation(enteredalertbox)
    {
    with (entered)
    {
    apos=value.indexOf("@");
    dotpos=value.lastIndexOf(".");
    lastpos=value.length-1;
      if (
    apos<|| dotpos-apos<|| lastpos-dotpos>|| lastpos-dotpos<2){
        return 
    false;
        }else {
          if (
    alertbox){
          
    alert(alertbox);
          
    // qui se vuoi puoi inserire value =''; in modo da cancellare il messaggio
          // value='';
          
    }
          return 
    true;
          }
        }
    }
    </script>
    <textarea name="messaggio" onBlur="emailvalidation(this,'Questo messaggio contiene una email ');"></textarea> 

  7. #7
    @netcom

    mmm ... preferisco una soluzione lato server

    grazie lo stesso
    Perchè uso Maxthon? | Mi piace questa chat

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    45
    Sorry .....
    ma perche allora non usi la versione che ti ha postato }gu|do[z]{®© ..... ?

    Ciao

  9. #9
    Perchè mi funziona soltanto nel caso si scriva una email da sola, senza testo.

    es 1: $comment = "ciao a tutti, scrivetemi pippo@paolo.com" // cosi non va
    es 2: $comment = "pippo@paolo.com" // cosi va

    probabilmente essendo impedito io sbaglio da qualche parte


    // controlla se scrivono email
    function is_mail($comment) {
    $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    return preg_match($r, $comment);
    }


    // controlla se ha scritto una mail nel testo
    if (is_mail($comment)) {
    echo ("Vietato scrivere email nel testo");
    exit;
    }
    Perchè uso Maxthon? | Mi piace questa chat

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 © 2024 vBulletin Solutions, Inc. All rights reserved.