Date Validation

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
coderstone
Δημοσιεύσεις: 7
Εγγραφή: 31 Αύγ 2008 16:54

Date Validation

Δημοσίευση από coderstone » 31 Αύγ 2008 21:51

Χαιρετώ,

πως μπορούμε να κάνουμε validation σε μια ημερομηνία τύπου MM/DD/YYYY ? Μπορείτε να με βάλετε στο νόημα και να δώσετε κάποιο παράδειγμα :question:

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Date Validation

Δημοσίευση από Rapid-eraser » 01 Σεπ 2008 11:43

Μέσω της checkdate μπορείς να ελέγξεις αν είναι valid αλλά αυτή θέλει
συγκεκριμένη μορφή στο input της. Έτσι πρέπει να σπάσεις στο string
σε διάφορα σταθερά κομμάτια μέσω preg_match , ereg_match , explode , split ακα.
Εγώ θα σου δώσω ένα παράδειγμα μέσω preg_match μιας και τα
regular expression μέσω PCRE είναι τα ιδανικά για σύνθετα match.
Ωστόσο για την συγκεκριμένη περίπτωση εγώ θα χρησιμοποιούσα explode.

Κώδικας: Επιλογή όλων

 function ChkDate( $date ) {
    if (preg_match('#^(\d{2})/(\d{2})/(\d{4})$#', trim($date), $splits)) {
       return checkdate($splits[1] , $splits[2] , $splits[3]);
    } else {
       return false;
    }
 } 

Και το ίδιο παράδειγμα με χρήση explode

Κώδικας: Επιλογή όλων

 function ChkDate( $date ) {
    if ($splits = explode("/",trim($date))) {
       return checkdate($splits[0] , $splits[1] , $splits[2]);
    } else {
       return false;
    }
 } 

Τέλος κάνω χρήση και της trim για να απομακρύνω white space από το string
Τελευταία επεξεργασία από το μέλος Rapid-eraser την 02 Σεπ 2008 12:54, έχει επεξεργασθεί 1 φορά συνολικά.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Date Validation

Δημοσίευση από Akis_gr49 » 01 Σεπ 2008 15:12

Κάποιο παράδειγμα για το πως χρησιμοποιούμε αυτή την συνάρτηση;

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Date Validation

Δημοσίευση από Rapid-eraser » 01 Σεπ 2008 19:21

Κώδικας: Επιλογή όλων

<?
if&#40;ChkDate&#40;"3/5/2009"&#41;&#41;&#123;?>Its a real date<?&#125;else&#123;?>Its a tangastring<?&#125;
?>
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Date Validation

Δημοσίευση από Akis_gr49 » 01 Σεπ 2008 22:34

Ωραίος. Ευχαριστούμε.

Το δοκίμασα με την πρώτη συνάρτηση και δουλεύει.

Με την δεύτερη βγάζει συνέχεια το "Its a tangastring"
Το δοκίμασα και για τα δύο
3/5/2009
03/05/2009

Ξέρετε τον λόγο;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Date Validation

Δημοσίευση από fafos » 01 Σεπ 2008 22:56

Giannhs_gr έγραψε:Ωραίος. Ευχαριστούμε.

Το δοκίμασα με την πρώτη συνάρτηση και δουλεύει.

Με την δεύτερη βγάζει συνέχεια το "Its a tangastring"
Το δοκίμασα και για τα δύο
3/5/2009
03/05/2009

Ξέρετε τον λόγο;

Κώδικας: Επιλογή όλων

       return checkdate&#40;$splits&#91;0&#93; , $splits&#91;1&#93; , $splits&#91;2&#93;&#41;;

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Date Validation

Δημοσίευση από Akis_gr49 » 01 Σεπ 2008 23:26

Πολύ σωστός!! Ευχαριστούμε παιδιά.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Date Validation

Δημοσίευση από Rapid-eraser » 02 Σεπ 2008 12:54

Ovtos apo kektimevi taxitita ksexasa va dior8oso to array
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες