Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662

    Espressione regolare solo numeri

    Ciao,
    ho un campo che deve avere solo numeri...

    Secondo voi cosa non va in questa espressione regolare?

    Codice PHP:
    if(!empty($_POST['telefono'])){
        if(!
    ereg("[0-9]",$_POST['telefono'])){
                
    $_SESSION['refill_telefono']=$_POST['telefono'];
            }else{
                
    $query_users3 "UPDATE dbtable SET telefono='$_POST[telefono]' WHERE id_user='$iid'";
                
    $res_users3 mysql_query($query_users3$connect);
                
    $_SESSION['refill_telefono'] = "";
            }
    }else{
        
    $query_users3 "UPDATE dbtable SET telefono='' WHERE id_user='$iid'";
        
    $res_users3 mysql_query($query_users3$connect);

    Se scrivo 3391234567kkk mi aggiorna il database ignorando l'espressione regolare.
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova così
    Codice PHP:
    if(!ereg("[0-9]+",$_POST['telefono'])){ 

  3. #3
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    ..ciao bstefano!

    Nulla, mi fa inserire senza errore numeri e lettere.

    se metto solo lettere però l'errore lo da
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    allora intanto ereg è deprecata devi usare preg_match

    prova così

    Codice PHP:
    if(!preg_match("[0-9]+$",$_POST['telefono'])){ 

  5. #5
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Ora mi da errore anche se inserisco solo il numero.

    Ho provato anche così:
    Codice PHP:
    if(!preg_match("/[0-9]+$/",$_POST['telefono'])){ 
    ..così
    Codice PHP:
    if(!preg_match("/[0-9]+/",$_POST['telefono'])){ 
    ..e così
    Codice PHP:
    if(!preg_match("/[0-9]/",$_POST['telefono'])){ 
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    107
    codice:
    if(!preg_match("/[0-9]$/",$_POST['telefono'])){

  7. #7

    Re: Espressione regolare solo numeri

    Originariamente inviato da bANART
    Ciao,
    ho un campo che deve avere solo numeri...
    codice:
    if ( preg_match('/^\d+$/', $campo) ) 
    	// solo numeri
    else 
    	// non solo numeri

  8. #8
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    ciao zero,
    in questo modo mi fa così:

    3391234567 = nessun errore -> OK
    aaa1234567 = nessun errore -> Dovrebbe dare errore
    3391234aaa = ERRORE -> OK
    339aaa4567 = nessun errore -> Dovrebbe dare errore
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    107
    già ti hanno risposto, colpa mia che non avevo letto tutto il thread.

  10. #10
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Ok k.b!!

    Funziona!

    '/^\d+$/'

    Dunque, ho letto nel manuale che preg_match ha la sintassi di apertura e chiusura in questo modo "/ ... /" ..e ok
    d sta ad indicare le cifre
    L'accento circonflesso dovrebbe indicare il contrario (come != è il contario di ==) (..primo dubbio)
    Perchè lo slash prima dell'indicatore delle cifre (d) ?
    Cosa sta ad indicare +$ ?

    ereg deprecato: ma se ho un'espressione regolare su campo mail con ereg che funziona devo sostituirla con preg_match?

    Intanto ringrazio tutti per l'aiuto, gentilissimi come sempre!
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

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.