Per la data puoi usare checkdate.
if (checkdate($mese, $giorno, $anno))
echo "Data Valida";
else
echo "Data nn valida";
Per il CAP non saprei. Ti serve verificare che abbia solo il numero esatto di cifre o che sia realmente esistente?
if (!preg_match("/^[0-9]{5}$/",$cap))
echo "non valido";
Per verificare che siano solo numeri ed esattamente 5 questo dovrebbe andar bene.