Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [php] funzione che taglia caratteri alfanumerici

    Salve raga, sto facendo un semplice programma per imparare meglio il php.

    Ora faccio acquisire da una form da una pag.html una variabile, che deve essere un NUMERO.
    Io vorrei fare un cotrollo, sulla stessa variable acquisita, in modo tale, che se qualke imbecille inserisce un numero e un carattere, quest'ultimo venga tagliato.

    Ad esempio:
    15afr
    diventa
    15

    1586afasdf45
    diventa
    1586


    Sapete dirmi se esiste qualke funzione??

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Codice PHP:
    $str '1586afasdf45';
    echo (int)
    $str
    Peraltro se il primo carattere non è numerico otterresti 0. Potresti usare un'espressione regolare per rimuovere tutti i caratteri non numerici.

  3. #3
    Esatto, con la preg_match() riesci a fare lavori migliori, solo che la sintassi è un pò difficle agli inizi

    Codice PHP:


    $pattern 
    "/[0-9]*/";    //Cosa deve prendere e salvare in $array_di_ritorno la funzione ha una sintassi POSIX
    $variabile_da_valutare "0939as9d94";
    preg_match($pattern,$variabile_da_valutare,$array_di_ritorno);

    echo 
    "<pre>";
    print_r($array_di_ritorno); 
    ecco un piccolo esempio

  4. #4
    mmm, per questo tipo di controlli si può usare un piccolo artifizio

    Codice PHP:
    if ((string)((int)$variabile) != $variabile)
    {
        
    // non è un numero

    con questo semplice giochino la variabile prima si trasforma in numero e poi in stringa riconfrontandola con il valore di partenza

    se sono diversi vuol dire che non era un numero oppure che dopo il valore numero erano presenti altri dati non ammessi

    alternativamente un is_numeric potrebbe andare pure bene

  5. #5
    no raga, io volevo una funzione, che taglia solo i caratteri alfanumerici.
    Come dite voi, utilizzando la funzione int, non va bene.
    Perche io devo poter acquisire anche valori decimali.

  6. #6
    poca differenza...

    codice:
    if ((string)((float)$variabile) != $variabile) 
    { 
        // non è un numero 
    }

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.