Visualizzazione dei risultati da 1 a 5 su 5

Discussione: controllo campo form

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    25

    controllo campo form

    salve, ho un problema riguardo il controllo lato client in javascript di un form,
    nei campi nome e cognome ho impostato che nel caso in cui ci siano caratteri
    non alfanumerici mi dia errore, evidentemente considera lo spazio non alfanumerico
    e quindi se provo a scrivere un nome con uno spazio in mezzo mi da errore.
    Come posso fare per escludere lo spazio dai non alfanumerici?

    questa è la funzione che fa il controllo dei campi:

    codice:
    var campi = document.getElementsByTagName("input");
    
    function vero(elem, cerca, bool, mess) {
        for (var i=0; i<elem.length; i++){
          var j = elem[i];
          var campo = campi[j];  
          if(cerca.test(campo.value) == bool){
            error(mess, campo);
            return true;
          }
        }
        return false;
    }
    elem è un array che contiene tutti gl'indici dei campi da controllare
    cerca varia in /\w/ , /\W/ , /\d/ a seconda del controllo che faccio
    bool varia tra true e false a seconda se voglio che quello che cerco sia o meno nel valore del campo
    e mess è semplicemente il messaggio di errore da visualizzare.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Aggiungi un elemento e fagli controllare lo spazio.... /\s/

    Ho il sospetto che si possa fare in una riga... conoscendo le altre esigenze
    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 di HTML.it
    Registrato dal
    May 2012
    Messaggi
    25
    ecco quello che vorrei riuscire a fare è unire le due espressioni, cercare nello stesso tempo lettere e spazi, qualcosa del tipo: /[a-zA-Z \s]/ solo che non so come scrivere l'espressione bene. Come l'ho scritta potrebbe andare?

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    O usi:

    codice:
    /[a-zA-Z ]/
    Oppure usi:

    codice:
    /[a-zA-Z\s]/
    Le due espressioni non sono identiche. La prima cercherà solo lettere dell'alfabeto e spazi. La seconda cercherà invece lettere dell'alfabeto, spazi, tab, ritorni a capo, e tutto ciò che rientra sotto il metacarattere "\s".
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    25
    grazie mille mi serviva la seconda

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