mi sapete dire perchè questa reg exp non funziona con le date del 2000?
	Codice PHP:
	
preg_match("/(0[1-9]|[12][0-9]|3[01])[-\.\s](0[1-9]|1[012])[-\.\s][(19|20)]\d{2}/)", $data) 
 
se io la inserisco in un semplice codice che mi verifica la data tipo questo:
	Codice PHP:
	
$verificaData = ControlloData("1/1/00");
var_dump($verificaData);
function ControlloData($data){
    if(preg_match("/(0[1-9]|[12][0-9]|3[01])[-\.\s](0[1-9]|1[012])[-\.\s][(19|20)]\d{2}/", $data)){
        echo "non sono numeri 
";
        return false;
    }else{
        echo "numeri verificati 
";
        $data = str_replace(" ", "-", $data);
        $data = str_replace(".", "-", $data);
        $data = str_replace("/", "-", $data);
        $arrayData = explode("-", $data);
        $Giorno = $arrayData[0];
        $Mese = $arrayData[1];
        $Anno = $arrayData[2];
        if(!checkdate($Mese, $Giorno, $Anno)){
            return false;
        }else{
            return true;
        }
    }
} 
 
vorrei trovare una forma che mi desse la possibilità di verificare le date sia che ci siano o meno le 2 cifre per i mesi e i giorni, sia che ci siano o meno le 4 cifre per l'anno (che quindi potrebbero essere anche 3,2 o 1).
poi dovrei trovare anche una reg exp per usarla nel preg_replace per sostituire i vari
str_replace, ovvero un qualcosa che mi faccia sostituire qualsiasi carattere ci sia tra il giorno e il mese e tra il mese e l'anno, con il simbolo - (trattino)