+ Rispondi alla Discussione
Risultati da 1 a 3 di 3

[Javascript] - Campo email.

Ultimo Messaggio di darkjoker il:
  1. #1
    User
    Data Registrazione
    Apr 2005
    Messaggi
    306

    [Javascript] - Campo email.

    Saluti a tutti
    Premetto che sono nuovo con il javascript;
    ho un modulo con 2 campi di cui il secondo è un campo email, riesco solo a
    verificare se è stato compilato, ma come posso verificare se è presente il "@" e "."
    ed in caso negativo bloccare l'invio del modulo tramite l'alert ?
    Un grazie anticipato a chi vorrà rispondermi; di seguito il codice:

    <form name="modulo" id="modulo" onSubmit="return controllo();" method="post" action="paginadiprova.html">
    Nome
    <input name="nome" type="text" id="nome" size="30" />
    <br />
    Email
    <input name="email" type="text" id="email" size="30" />
    <br />
    <input type="submit" name="Submit" value="Invia" />
    </form>
    <script language="JavaScript">
    function controllo(){
    with(document.modulo) {
    if(nome.value=="") {
    alert("Errore: compilare il campo NOME");
    nome.focus();
    return false;
    }
    if(email.value=="") {
    alert("Errore: compilare il campo email");
    email.focus();
    return false;
    }
    }
    return true;
    }
    </script>
    immobiliare a Sciacca Case in vendita da agenzia.

  2. #2
    Utente Premium
    Data Registrazione
    Mar 2009
    Messaggi
    313
    Nemmeno io sono un esperto di JavaScript, però prova a sostituire la riga:
    Codice HTML:
    if(email.value=="") {
    Con questa:
    Codice HTML:
    if (email.value == "" || email.value.indexOf ('@', 0) < 1 || email.value.indexOf ('.', 0) < 1) {

  3. #3
    User Newbie L'avatar di darkjoker
    Data Registrazione
    Nov 2012
    Località
    Torino
    Messaggi
    3
    Esiste una cosa chiamata regex (regular expressions) che è davvero molto,molto bella Scriverti per filo e per segno di cosa si tratta sarebbe un po' troppo lungo, ma se cerchi su google troverai guide complete sull'argomento e scoprirai che ti si aprirà un mondo davanti
    Ho da poco scoperto (in verità, ho guardato su google dopo aver letto la tua domanda) che esistono anche in javascript
    Eccoti un breve esempio appena scritto, con le mie neo apprese conoscenze delle regex in javascript :
    Codice:
    <script>
    function check (address) {
        var a = /^[a-z0-9_]{1,}\@[a-z0-9\.]{1,}\.[a-z]{2,4}$/;
        var x = a.exec (address);
        if (x==null) {
            document.write ("Email sbagliata!");
        }
        else {
            document.write ("Email accettata ;)");
        }
    
    
    }
    </script>
    <!--
    (fai attenzione, visto che non ho la possibilità di scrivere indirizzi email, l'[at] alla riga successiva va inteso come @)
    -->
    <input type = 'button' onClick='check("address11[at]host.com");' value='Prova'>
    Questo codice, molto semplice una volta che avrai imparato a usare le regex, stampa un messaggio "positivo" se l'indirizzo email ha la seguente struttura:

    (fai attenzione, visto che non ho la possibilità di scrivere indirizzi email, l'[at] alla riga successiva va inteso come @)
    xxxxx[at]yyyy.zzz

    Dove xxxxx è una stringa di 1 o + caratteri, contenente lettere dalla a alla z (minuscole), numeri e l'underscore (_); yyyy è una stringa (di almeno 1 carattere) formata da lettere minuscole, punti (.) e numeri, e zzz una stringa lunga da 2 a 4 lettere minuscole.
    La regex che ho scritto è molto semplice e probabilmente taglierà fuori alcuni casi speciali.. In giro per internet potrai certamente trovare regex più restrittive, oppure, una volta imparate, puoi scrivere la tua "ad hoc"

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.