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

    Modifica ad una espressione regolare

    Salve a tutti,
    ho trovato questa espressione regolare:
    ^((((([0-1]?\d)|(2[0-8]))\/((0?\d)|(1[0-2])))|(29\/((0?[1,3-9])|(1[0-2])))|(30\/((0?[1,3-9])|(1[0-2])))|(31\/((0?[13578])|(1[0-2]))))\/((19\d{2})|([2-9]\d{3}))|(29\/0?2\/(((([2468][048])|([3579][26]))00)|(((19)|([2-9]\d))(([2468]0)|([02468][48])|([13579][26]))))))\s(([01]?\d)|(2[0-3]))(:[0-5]?\d){2}$

    Che matcha la data nel formato: DD/MM/YYYY hh:mm:ss

    A me servirebbe togliere i secondi, per matchare le date nel formato: DD/MM/YYYY hh:mm

    Qualcuno mi sa aiutare?

    grazie

  2. #2
    oh mio dio! mi vien voglia di suicidarmi a guardare quella regexp

    In ogni caso: sei sicuro di aver bisogno di una regexp per quello che devi fare? se devi solo validare una data c'è già una funzione predefinita..

  3. #3
    Originariamente inviato da }gu|do[z]{®©
    oh mio dio! mi vien voglia di suicidarmi a guardare quella regexp

    In ogni caso: sei sicuro di aver bisogno di una regexp per quello che devi fare? se devi solo validare una data c'è già una funzione predefinita..
    Si, mi servirebbe una regular expression.

    Quella l'ho trovata qui

  4. #4
    Originariamente inviato da kylnas1
    Si, mi servirebbe una regular expression.

    Quella l'ho trovata qui
    prima di dire cosa ti serve, perchè non spieghi cosa vuoi fare? Ho visto spesso utenti cercare di fare le cose semplici in modi complicati (io stesso finchè non ci ho preso la mano... )

  5. #5
    Originariamente inviato da }gu|do[z]{®©
    prima di dire cosa ti serve, perchè non spieghi cosa vuoi fare? Ho visto spesso utenti cercare di fare le cose semplici in modi complicati (io stesso finchè non ci ho preso la mano... )
    Il problema non è cosa voglio fare, ma cosa ho già fatto...per questo non posso fare in altro modo.

    Mi serve un'espressione regolare che mi "matcha":
    DD/MM/YYYY hh:mm

  6. #6
    Invece io non capiscoperché questo non funzioni
    Codice PHP:
    if (ereg ("/^(((((0[1-9])|(1\d)|(2[0-8]))\/((0[1-9])|(1[0-2])))|((31\/((0[13578])|(1[02])))|((29|30)\/((0[1,3-9])|(1[0-2])))))\/(([0-9][0-9][0-9][0-9]))|(29\/02\/[0-9][0-9](([02468][048])|([13579][26]))))$/""10/02/2007"$regs)) {
       echo 
    "OK";
    } else {
       echo 
    "Formato di data non valido";

    ma la regexp va bene col javascript in cui faccio
    Codice PHP:
        re=/^(((((0[1-9])|(1\d)|(2[0-8]))\/((0[1-9])|(1[0-2])))|((31\/((0[13578])|(1[02])))|((29|30)\/((0[1,3-9])|(1[0-2])))))\/(([0-9][0-9][0-9][0-9]))|(29\/02\/[0-9][0-9](([02468][048])|([13579][26]))))$/;
        if (!
    re.test("10/02/2007")) {
            
    alert ("Attenzione: data sbagliata!");
            
        } 

  7. #7
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    Prova così:
    Codice PHP:
    <?php
    $data 
    $_POST['data'];
    $match=ereg ("^(((((0[1-9])|(1d)|(2[0-8]))/((0[1-9])|(1[0-2])))|((31/((0[13578])|(1[02])))|((29|30)/((0[1,3-9])|(1[0-2])))))/(([0-9][0-9][0-9][0-9]))|(29/02/[0-9][0-9](([02468][048])|([13579][26]))))$"$data$regs)
    if (
    $match) { 
       echo 
    "OK"
    } else { 
       echo 
    "Formato di data non valido"
    }
    ?>

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.