Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158

    Controllo numeri in una stringa

    Ciao a tutti!

    Vorrei sapere come poter controllare che in una stringa siano presenti dei numeri...
    per fare un controllo su un campo di testo.

    Ad esempio:

    ciaociao -> valore accettato
    12345 -> valore non accettato
    ciao123ciao -> valore non accettato

    Grazie a tutti in anticipo!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    var lettere = /^([a-z A-Z])+$/;
    if(!lettere.test(document.getElementById('tuo-id-da-verificare').value){
    alert('errore inserire solo lettere')
    }else{
    controllo eseguito...
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, come indicato sull'esempio di Andrea, puoi usare le espressioni regolari e il metodo test().
    Aggiungo come alternativa, se vuoi solo controllare la presenza o meno di numeri, puoi usare un pattern del genere:
    codice:
    /^\D+$/
    Se vuoi creare un controllo automatico su un campo, per impedire l'inserimento di determinati caratteri (in questo caso, numeri), puoi fare una cosa del genere:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script type="text/javascript">
          function controllo(c){
            c.value = c.value.match(/\D+/) || "";
          }
          window.onload = function(){
            c = document.getElementById("tuocampo");
            c.onchange = c.onkeyup = c.onpaste = c.oninput = function(){controllo(this)};
            controllo(c);
          }
        </script>
      </head>
      <body>
        <input id="tuocampo" type="text" value="">
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Killerworm il tuo esempio funziona, mentre non riesco a far funzionare quello di andrea...

    Ho scritto questa funzione:

    <script>
    function abc(){
    var lettere = /^([a-z A-Z])+$/;


    if(!lettere.test(document.getElementById('name').v alue){
    alert('errore inserire solo lettere');
    }else{
    alert('ok');
    }
    }
    </script>

    e richiamo questa funzione dall input...

    <input type="text" id="name"/>

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Non succede niente... gli alert non vengono visualizzati...

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    <input type="text" id="name" onkeyup="abc()" /> se non richiami la funzione con un evento è impossibile che funzioni
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    avevo dimentico di trascrivere l'evento che la richiama... ma non funziona ugualmente...

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    C'è la funzione isNaN (is Not a Number)
    isNan('pippo') torna true.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    <script>
    function abc(){
    var lettere = /^([a-z A-Z])+$/;
    if(!lettere.test(document.getElementById('name').v alue)){//qui mancava una parentesi tonda
    alert('errore inserire solo lettere');
    return false;
    }else{
    alert('ok');
    }
    }
    </script>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Ciao
    io uso questa tecnica se ti puo servire te la posto
    se il campo input decido che devono essere inseriti solo i caratteri che voglio io, richiamo la funzione tipo
    onKeyPress="return LettersOnly(this, event)" e gestisco la funzione LettersOnly
    che ti posto
    codice:
    function LettersOnly(myfield, e, dec) {
      var key;
      var keychar;
    
      if (window.event)
        key = window.event.keyCode;
      else if (e)
        key = e.which;
      else
        return true;
      keychar = String.fromCharCode(key);
      // control keys
      if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
         {return true;}
      if ((("abcdefghilmnopqrstuvzwxyjkABCDEFGHILMNOPQRSTUVZWXYK .").indexOf(keychar) > -1))
        return true;
      else
        return false;
    }
    Il risultato è che nel campo input puoi inserire solo i caratteri della tabella definita...
    Io ho definito anche i campi tipo numerici per me validi tipo (numeri e virgola) per esempio...
    e la funzione fa passare alcuni valori utili per i form tipo delete tab ESC enter etc...
    Spero di esserti stato utile
    ciao
    Vic53

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.