Если я правильно вас понимаю, вы хотите проверить строку, чтобы убедиться, что она соответствует шаблону MM-DD-YYYY?
Если это так, я бы предложил две проверки: одну, чтобы убедиться, что она соответствуетобщий набор цифр и еще один, чтобы проверить, что месяцы являются первыми, а дни - вторыми.
function checkDate( $date )
{
if (preg_match("/[0|1][0-9]/[0-9][1-9]/[0-9]{4}/",$date)
{
if (substr($date,0,2)<=12 && substr($date,3,2)<=31)
{
return true;
}
}
return false
}
Обновление: Добавлена дополнительная проверка дней, чтобы убедиться, что она действительна,на основании комментария NullUser