Back to top

Autore Topic: Espressione Valid Date  (Letto 2099 volte)

Offline oxfrancescoxo

  • Esploratore
  • **
  • Post: 65
    • Mostra profilo
Espressione Valid Date
« il: 17 Nov 2009, 14:29:19 »
Salve ragazzi, devo modificare l'espressione :
0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d

che mi restituisce yyyy/mm/dd e vorrei impostarla dd/mm/yyyy

Aiutamemi please!

mau_develop

  • Visitatore
Re:Espressione Valid Date
« Risposta #1 il: 17 Nov 2009, 16:28:47 »
...ma precisamente cosa vuoi fare?

solitamente la regex non compie una funzione come formattare una data, solamente fa un match tra il pattern (regex) e la stringa e ti restituisce un true o un'occorrenza

ti conviene usare le funzioni di php per formattare la data

Se invece devi fare il match con una data nel formato che dici e non nel formato per cui la regex è impostata allora è un'altra cosa.

Comunque la data non è come dici separata da / ma da -

maurizio

Offline oxfrancescoxo

  • Esploratore
  • **
  • Post: 65
    • Mostra profilo
Re:Espressione Valid Date
« Risposta #2 il: 17 Nov 2009, 16:37:02 »
ciao, sto modificando una versione di joomla, che vieni dall'india ed il formato della loro data è yyyy-mm-dd ho modificato tutti i file in dd-mm-yyyy infatti quando seleziono dal calendario la data nel campo mi spunta dd-mm-yyyy ma quando prova ad effettuare la regista mi esce l'errore adesso risalendo dall'errore sono arrivato a quell'espressione.

Ho cercato su internet e l'espressione dovrebbe essere modificata ma non so come.

Ti allego la parte di codice:

// date validation function
   function _checkDateFormat($date)
   {
     //match the format of the date
     if (preg_match ("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts))
     {
      //check weather the date is valid of not
       
        return true;
   
     }
     else
      return false;
   } // end of date validation

Carneade!!!

mau_develop

  • Visitatore
Re:Espressione Valid Date
« Risposta #3 il: 17 Nov 2009, 19:29:35 »
if (preg_match ("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts))

infatti è come ti dicevo, per lui la data è valida solo nel formato "indiano"

anche la regex è comprensibile, quella di prima no.

allora, devi capire cosa fa quella regex:

[0-9]{4} -> la prima parte della stringa deve essere un numero da 0 a 9 ripetuto 4 volte

[0-9]{2} -> segue un numero da 0 a 9 ripetuto 2 volte

[0-9]{2} -> segue un numero da 0 a 9 ripetuto 2 volte

... in mezzo vedi anche i trattini.

Ora dimmi tu come correggerla :)

Maurizio

Offline oxfrancescoxo

  • Esploratore
  • **
  • Post: 65
    • Mostra profilo
Re:Espressione Valid Date
« Risposta #4 il: 18 Nov 2009, 10:01:28 »
Se non sono scemo dovrebbe essere così?

(preg_match ("/^([0-9]{2})-([0-9]{2})-([0-9]{4})$/", $date, $parts))

mau_develop

  • Visitatore
Re:Espressione Valid Date
« Risposta #5 il: 18 Nov 2009, 11:40:16 »
:) ..funziona?

M.

Offline oxfrancescoxo

  • Esploratore
  • **
  • Post: 65
    • Mostra profilo
Re:Espressione Valid Date
« Risposta #6 il: 20 Nov 2009, 09:27:21 »
ancora non ho potuto effettuare la modifica, in giornata la farò e vi farò sapere!

 



Web Design Bolzano Kreatif