Contare i caratteri user e dominio

Discussione in 'Javascript' iniziata da Shyson, 30 Settembre 2012.

Tag (etichette):
  1. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Questo codice ha lo scopo di contare i caratteri in una mail, la prima parte, quella prima del else funziona, la seconda parte funziona a metà, cioè: mi blocca l'inserimento a 8 caratteri totali (compreso l'user e la chiocciola).

    Dovrei invece fare in modo che mi conti e blocchi l'inserimento a 8 caratteri dopo la chiocciola

    PHP:
    function contaEmail(suoemail) {
    var 
    val document.forms.mioform1;
    var 
    output '';
    max=5
    if(suoemail.indexOf('@')<0) {
    val.suoemail.value val.suoemail.value.substring(0,max);
    output suoemail.length max "Username: max 5 caratteri" null;

    else {
    var 
    dominio suoemail.split('@')[1];
    max=8
    val
    .suoemail.value val.suoemail.value.substring(0,max);
    output dominio.length max "Dominio: max 8 caratteri" null;
    }
    if(
    output.length != 0) { 
    document.getElementById('contaUserDom').innerHTML = (output '');
    }
    }
     
  2. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    Ciao,
    non sono riuscito a far funzionare il tuo codice ne su FF ne su IE
    cmq
    forse ti basta aggiungere a max la lunghezza della user + la chiocciola
    Codice:
    else {
                        var primaparte = suoemail.length + 1;
                        max =  primaparte + 8;
                        
                        val.suoemail.value = val.suoemail.value.substring(primaparte ,max);
                        output = suoemail.length > max ? "Dominio: max 8 caratteri" : null;
                    }
    
     
  3. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Se funziona la prima parte dovrebbe funzionare anche la seconda
     
  4. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Sicuro che funzioni?

    controlla bene quello che hai scritto riga per riga e commentalo.

    Valeria.
     
  5. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Intendevo che funziona solo la prima parte quella prima di else, è la seconda, quella del dominio che non va
     
  6. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Primo errore

    ho fatto un js per controllare gli errori di altri js

    Si è verificato un errore: TypeError: suoemail.indexOf is not a function
    Linea: 33

    Non contare il numero di riga dell'errore in quanto si riferisce alla posizione dell'errore trovato, contando anche le righe precedenti di codice html, css, js ecc...

    Per prova metti anche il form.

    Valeria.
     
  7. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Questo è la riga del form,

    PHP:
    <input type="text" name="suoemail" class="campi1" onkeyup="contaEmail(this.value)" /> 
     
  8. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Ciao,

    Si è verificato un errore: TypeError: output is null
    Linea: 43

    Valeria.
     
  9. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Add,

    questo if(suoemail.indexOf('@')<0) {

    dovrebbe essere if(suoemail.indexOf('@')>=0) {
     
  10. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Come hai fatto a scoprirlo? Come si corregge?
     
  11. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Se metto così non esce più l'alert
     
  12. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Ho detto sopra, ho fatto un javascript per controllare gli errori di altri javascript,

    se output è nullo richiama la variabile var output = ''; prima della if
     
  13. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Non esce no, cosi fai in modo che funzioni al 60% se inserisci @@@@

    Valeria
     
  14. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Si, ma non è il risultato che voglio ottenere, eppoi la prima parte va bene, è la seconda che fa storie
     
  15. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    prova cosi
    Codice:
    <script>
        function contaEmail(suoemail) {
            var val = document.forms.mioform1;
            max=5
            if(suoemail.indexOf('@')<0) {
                val.suoemail.value = val.suoemail.value.substring(0,max);
                output = suoemail.length > max ? "Username: max 5 caratteri" : '';
            } 
            else {
                document.getElementById('contaUserDom').innerHTML = '';
                max =  14;  
                val.suoemail.value = val.suoemail.value.substring(0 ,max);
                output = suoemail.length > max ? "Dominio: max 8 caratteri" : '';
            }
            if(output.length != 0) { 
                document.getElementById('contaUserDom').innerHTML = (output + '');
            }
        }  
    </script>
    
    poi ci spieghi a cosa ti serve?
     
  16. Vale2

    Vale2 Utente Attivo

    Registrato:
    28 Maggio 2006
    Messaggi:
    446
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Ex Studente - Cerca collaborazione per Asp e Asp.N
    Località:
    Livorno
    Se per te va bene codice scritto male,

    hai notato che ti cancella i caratteri per l'usernamese maggiori di 5 ma dopo che hai inserito la @ il massimo dei caratteri consentiti per username e dominio è di solo 8 caratteri.

    e i messaggi di avviso per queso non escono mai?

    V.
     
  17. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Si ho visto
     
  18. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Il tuo va bene la prima parte ma a 8 TOTALI si ferma, mi serve per controllare la lunghezza dell'user e del dominio di una mail

    Questo andrebbe bene ma se al posto dell'alert ci metto l'id, non va più bene

    PHP:
    function contaEmail(suoemail) {
    var 
    output '';
    if(
    suoemail.indexOf('@')<0) {
    output suoemail.length 'Username: max 5 caratteri' null;

    else {
    var 
    dominio suoemail.split('@')[1];
    output dominio.length 'Dominio: max 8 caratteri' null;
    }
    if(
    output.length != 0) { 
    alertoutput '' );
    }
    }

     
  19. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    io non ho scritto 8, guarda meglio
     
  20. Shyson

    Shyson Utente Attivo

    Registrato:
    19 Agosto 2012
    Messaggi:
    1.111
    Mi Piace Ricevuti:
    1
    Punteggio:
    38
    Sesso:
    Maschio
    Si lo so, è una prova che avevo fatto anche io, non va bene perché la lunghezza del dominio dipende da quella dell'user, io ho bisogno di fare i controlli indipendenti
     
Sto caricando...

Condividi questa Pagina