I just wanna share the code that solves this thread. (credits and huge thanks to NogDog).
<?php
$string = "06/06/1987 - 12/31/1987"; // the sequence of input
$valid = false;
if(preg_match('#^\d\d/\d\d/\d{4} - \d\d/\d\d/\d{4}$#', $string))
{
$parts = preg_split('#/| - #', $string);
if(checkdate($parts[0], $parts[1], $parts[2]) and checkdate($parts[3], $parts[4], $parts[5]))
{
$date1 = mktime(0, 0, 0, $parts[0], $parts[1], $parts[2]);
$date2 = mktime(0, 0, 0, $parts[3], $parts[4], $parts[5]);
if($date1 < $date2)
{
$valid = true;
}
else
{
$error = "2nd date is not later than first";
}
}
else
{
$error = "one or both dates are not valid";
}
}
else
{
$error = "invalid date range format";
}
if($valid)
{
echo "valid date string";
}
else
{
echo $error;
}
?>