Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Oct 2000
    Messaggi
    18

    Controllo Form [RegExp]

    Ciao a tutti, volevo implementare con questo script :

    codice:
    <script language='JavaScript'>
        <!--
        function ValidateForm() {
            var Check = 0;
            if (document.StepZero.nome.value == '') { Check = 1; }
            if (document.StepZero.cognome.value == '') { Check = 1; }
            if (Check == 1) {
                alert("Devi inserire tutti i campi.");
                return false;
            } else {
                document.StepZero.submit.disabled = true;
                return true;
            }
        }
        //-->
    </script>
    un controllo sui caratteri inseriti nel nome e nel cognome.
    Non so bene come si costruisca un pattern per il RegExp ne come si utilizzi con JavaScript, ma penso che sia la risoluzione a questo problema.

    I caratteri che un utente può inserire sono :
    [a-z] [A-Z] [0-9] [@%#_$-]
    lunghezza minima 3 massima 15.

    Grazie per l'attenzione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    codice:
        ...
    
        <script type="text/javascript">
        <!--
    
          function checkData (f)
          {
            var e = 0;
            var m = "";
            var d = /^[a-zA-Z0-9@%#_$\-]{3,15}$/i;
    
            if (f.elements["nome"].value.match(d) == null) {
              m += " - il nome risulta non valido\n";
              e++;
            }
    
            if (f.elements["cognome"].value.match(d) == null) {
              m += " - il cognome risulta non valido\n";
              e++;
            }
    
            if (e) {
              alert ("Dati non validi:\n" + m + "\nCorreggi gli errori prima di procedere.");
              return false;
            } else {
              f.elements["submit"].disabled = true;
              return true;
            }
          }
    
        //-->
        </script>
      </head>
    
    
      <body>
        <form onsubmit="return checkData(this);">
          Nome: <input type="text" name="nome" />
    
          Cognome: <input type="text" name="cognome" />
    
    
    
          <input type="submit" name="submit" />
        </form>
    
        ...

  3. #3
    Utente bannato
    Registrato dal
    Oct 2000
    Messaggi
    18
    .... xfetto, tranne per un piccolo particolare.
    Se una persona ha il doppio cognome.. o il doppio nome (es.: Maria Giovanna) lo script dice che è sbagliato.... come farE?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    codice:
     ...
    
        <script type="text/javascript">
        <!--
    
          function checkData (f)
          {
            var e = 0;
            var m = "";
            var d = /^([a-zA-Z0-9@%#_$\-]{2,15}|[a-zA-Z0-9@%#_$\-]{2,15} [a-zA-Z0-9@%#_$\-]{2,15})$/i;
    
            if (f.elements["nome"].value.match(d) == null) {
              m += " - il nome risulta non valido\n";
              e++;
            }
    
            if (f.elements["cognome"].value.match(d) == null) {
              m += " - il cognome risulta non valido\n";
              e++;
            }
    
            if (e) {
              alert ("Dati non validi:\n" + m + "\nCorreggi gli errori prima di procedere.");
              return false;
            } else {
              f.elements["submit"].disabled = true;
              return true;
            }
          }
    
        //-->
        </script>
      </head>
    
    
      <body>
        <form onsubmit="return checkData(this);">
          Nome: <input type="text" name="nome" />
    
          Cognome: <input type="text" name="cognome" />
    
    
    
          <input type="submit" name="submit" />
        </form>
    
        ...

  5. #5
    Utente bannato
    Registrato dal
    Oct 2000
    Messaggi
    18
    Non capisco come funziona il tuo pattern :
    codice:
    /^([a-zA-Z0-9@%#_$\-]{2,15}|[a-zA-Z0-9@%#_$\-]{2,15} [a-zA-Z0-9@%#_$\-]{2,15})$/
    ( [a-zA-Z0-9@%#_$\-] lungo da 2 a 15 lettere
    oppure
    [a-zA-Z0-9@%#_$\-] lungo da 2 a 15 lettere
    spazio
    [a-zA-Z0-9@%#_$\-] lungo da 2 a 15 lettere


    che significato ha?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    Originariamente inviato da pisidalu
    Non capisco come funziona il tuo pattern :
    codice:
    /^([a-zA-Z0-9@%#_$\-]{2,15}|[a-zA-Z0-9@%#_$\-]{2,15} [a-zA-Z0-9@%#_$\-]{2,15})$/
    ( [a-zA-Z0-9@%#_$\-] lungo da 2 a 15 lettere
    oppure
    [a-zA-Z0-9@%#_$\-] lungo da 2 a 15 lettere
    spazio
    [a-zA-Z0-9@%#_$\-] lungo da 2 a 15 lettere


    che significato ha?

    in realta' per questo scopo di poteva fare diversamente...
    cmq vuol dire


    1NOME oppure 1NOME 2NOME

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    Originariamente inviato da $$$
    in realta' per questo scopo di poteva fare diversamente...
    cmq vuol dire


    1NOME oppure 1NOME 2NOME

    nel tuo caso conviene xò

    /^([a-zA-Z0-9@%#_$\-]{2,15}(| [a-zA-Z0-9@%#_$\-]{2,15}))$/

  8. #8
    Utente bannato
    Registrato dal
    Oct 2000
    Messaggi
    18
    e il signifitcato?

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    nome da 2 a 15 lettere, o niente o uno spazio + nome da 2 a 15 lettere.

  10. #10
    Utente bannato
    Registrato dal
    Oct 2000
    Messaggi
    18
    e se io volessi controllare una stringa che non so quante parole contiene?

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.