Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170

    controllo campo numerico

    salve a tutti ,
    ho un quesito forse banale per alcuni , devo eliminare da una variabile tutti i caratteri che non vanno dallo 0 al 9 o che nn siano virgola e punto cioe devo cancellare qualsiasi cosa che l'utente possa inserire (non solo € ma anche eventuali frasi) al di fuori di numeri punti e virgole come potrei fare?grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    Per prima cosa puoi controllare i dati all'origine
    con javascript.

    onKeyPress=\"return goodchars(event,'0123456789-+.,')\"

    function getkey(e)
    {
    if (window.event) return window.event.keyCode;
    else if (e) return e.which; else return null;
    }

    function goodchars(e, goods)
    {
    var key, keychar;
    key = getkey(e);
    if (key == null) return true;

    // get character
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
    goods = goods.toLowerCase();

    // check goodkeys
    if (goods.indexOf(keychar) != -1)
    return true;

    // control keys
    if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
    return true;

    // else return false
    return false;
    }

    Poi fai il controllo a valle con le regexp.
    ...altri 5 anni di purga...

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    devi validare un campo numerico? ma devi proprio togliere tutto ciò che non è un numero/punto/virgola? non è meglio impedire l'inserimento dei caratteri che non corrispondono ? invece di filtrare tutto ciò che non deve essere inserito è meglio permettere solo l'inserimento di ciò che è permesso.
    Errare humanum est, perseverare ovest

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170
    i dati sono le prelevo da un file di testo quidni nn posso effettuare una convalidazionea monte devo usare una regexp penso ma nn so come fare

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170
    penso di aver risolto voca ne dite

    Codice PHP:
    $string="il prezzo è € 1.000,80 + iva";
    $testo_nuovo=preg_replace("/[^0-9,.]/"""$string);
    echo 
    "$testo_nuovo"
    secondo voi si puo fare meglio

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.