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

    Espressione regolare - controllare una data

    Usando poco le espressioni regolari, mi sono arrugginito..
    Devo validare un campo di testo il cui requisito è: avere alla fine della stringa una data nel formato GG/MM/AAAA.

    Io ho impostato la seguente espressione regolare per controllare la data:
    /.*?\d{1,2}\/\d{1,2}\/\d{4}$/

    Però c'è qualcosa che non va.

    Esempi di testo che deve risultare valido sono:
    "12/07/1987"
    "bla bla bla 4/1/2013"
    "il 21/09/1967"
    "dal 8/2/1976 al 31/10/1978"
    Quello che interessa è che alla fine della stringa ci sia una data.

    Chi è più esperto di espressioni regolari potrebbe darmi una dritta su cosa c'è che non va nella mia ?

  2. #2
    Quote Originariamente inviata da W Thunderbird Visualizza il messaggio
    Usando poco le espressioni regolari, mi sono arrugginito..
    Devo validare un campo di testo il cui requisito è: avere alla fine della stringa una data nel formato GG/MM/AAAA.

    Io ho impostato la seguente espressione regolare per controllare la data:
    /.*?\d{1,2}\/\d{1,2}\/\d{4}$/

    Però c'è qualcosa che non va.

    Esempi di testo che deve risultare valido sono:
    "12/07/1987"
    "bla bla bla 4/1/2013"
    "il 21/09/1967"
    "dal 8/2/1976 al 31/10/1978"
    Quello che interessa è che alla fine della stringa ci sia una data.

    Chi è più esperto di espressioni regolari potrebbe darmi una dritta su cosa c'è che non va nella mia ?
    mi rispondo da solo.. (Dopo una pausa e un caffè si ragiona meglio )

    L'espressione corretta per controllare che a fine riga ci sia un pattern del tipo GG/MM/AAAA è :
    /\d{1,2}\/\d{1,2}\/\d{4}$/

    Dopo faccio controlli ulteriori sul fatto che sia veramente una data.. etc..

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.