Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Espressione regolare con il carattere \

    salve a tutti ho impostato la seguente espressione regolare

    $validadatiammessi = "^[a-zA-Z0-9'àòèéùì '\.\"\-]+$";
    If ($Denominazione != '' && !eregi($validadatiammessi, $Denominazione)){
    $erroriInserimento[] = 'Attenzione nel campo Nome Agenzia è stato inserito un carattere non valido';
    }

    funziona alla grande ma purtroppo se inserisco il carattere \ lo accetta...
    ovviamente io non vorrei che l'utente inserisse anche quel carattere come fare ?

  2. #2

  3. #3
    l'ho modificata in

    $validadatiammessi = "^[a-zA-Z0-9'àòèéùì '\.\"\-\\]+$";

    ma comunque posso inserire il carattere \

  4. #4
    scusate l'insistenza ma davvero sono giorni che ci provo e non trovo soluzioni

    credo che accetti il carattere \ perchè trova questa sequenza

    \.\"\-

    che però sono costretto ad inserire il punto deve essere preceduto da \ e cosi anche il -
    mentre i " devono essere preceduti da \ perchè altrimenti "mi chiudono" la stringa php

    ma davvero non c'è modo di risolvere questo problema ?

  5. #5
    Il punto e il trattino (se messo all'ultimo posto nella classe, come poi hai fatto tu) non hanno bisogno del backslash se sono all'interno di una classe. Toglili e prova.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  6. #6
    niente
    con la seguente

    $validadatiammessi = "^[a-zA-Z0-9àòèéùì '\".-]+$";

    mi blocca il \ ma anche ' e "

  7. #7
    A me funziona (ho copiato la tua regex).
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  8. #8
    ma come ...
    con questa io non riesco ad inserire ' e " (però mi blocca giustamente anche \ )
    $validadatiammessi = "^[a-zA-Z0-9àòèéùì '\".-]+$";

    non so più cosa fare

  9. #9
    A prescindere dall'espressione regolare, a mio avviso stai usando un cannone per sparare alle mosche. Nella tua situazione MAI userei una dispendiosa espressione regolare solo per controllare i caratteri.

    if ($Denominazione != '' && ltrim($prova, 'a..zA..Z0..9àòèéùì \\'".-') != '') {
    $erroriInserimento[] = 'Attenzione nel campo Nome Agenzia è stato inserito un carattere non valido';
    }

    Questo è uno dei tanti modi per poterlo fare, e dubito pure che sia il più furbo: comunque è usabile e sicuramente più veloce di un'espressione regolare.

    Addenum: non puoi fare copia/incolla perché ho dovuto doppioslashare l'apice singolo, occhio.

  10. #10
    ti ringrazio per il suggerimento di utilizzare ltrim()

    però non capisco per quale motivo non riesca a lavorare con l'espressione regolare
    mi sembrava tutto corretto
    eppure niente !

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.