Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    73

    Controllo campi con espressioni regolari

    Ciao a tutti, devo controllare che dei campi contengano solo dei numeri: 23 , 0.5 , 0,5 , 123.5 , ecc...

    Ho fatto la seguente espressione ma accetta anche valori del tipo: 4r, 23s, ecc...


    function controlla(campo) {

    var re = /[\d]/g;
    var ro = / /g; // elimina spazi
    campo = campo.replace( ro, "" );

    alert(re.test(campo));
    if(re.test(campo)) alert("Dato errato");
    }

    cosa sbaglio? Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La tua re controlla solo che ci sia almeno un carattere numerico.

    Invece tu vuoi che contenga SOLO caratteri numerici e un punto (o anche virgola):
    var re = /^[\d\.\,]+$/

    Nota che il punto potrebbe essere ripetuto. Se vuoi un solo punto (o virgola):
    var re = /^[\d]+[\.\,][\d]*$/


    Inoltre credo che devi inveritire il risultato del test, se vuoi usare quella struttura di if:
    if(!re.test(campo)) alert("Dato errato");

    (nota che ci sono varii caratteri \: se non li vedi fai un quote del messaggio)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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