• User Attivo

    Espressioni regolari

    Salve ragazzi, avrei un problema con le espressioni regolari, dovrei fare la seguente:

    un'espressione per un numero di 5 cifre, esempio: 34545

    un'espressione per un numero che vada da 8 a dieci numere

    un'espressione per un campo url che deve essere del tipo: h t t p : / / w w w . nomesito . it

    Mi potete aiutare?

    [PHP]

    case 'cap':
    if($v == '') {
    $this->setError('Inserire indirizzo cap', $k);
    $ret = false;
    }elseif(!eregi('/^d{5}$/', $v)) {
    $this->setError('Indirizzo cap non valido, deve essere composto da 5 numeri', $k);
    $ret = false;
    } elseif(!$this->uniqueField('Indirizzo cap', $k, $v)) {
    $ret = false;
    }
    break;
    [/PHP]

    ragazzi ho provato a fare cosi, ma anche se metto 5 numeri mi dice che non è valido, al posto di /^\d{5}$/ avevo messo pure: [0-9]{5} , mi fa il controllo, ma se metto sei o sette numeri non mi dice nulla, come mai?


  • User Attivo

    Ciao angelo85ct,
    Le funzioni eregi (ereg) e ereg_replace (eregi_replace) sono state deprecate da php 5.3.0, ti consiglio di utilizzare preg_match e preg_replace al loro posto.
    Comunque nella tua eregi vedo che manca il backslash prima di "d".

    Un saluto,
    Luca Bartoli