Ein Problem bei clientseitiger Eingabekontrolle ist, dass es immer wieder User gibt, die JS deaktiviert haben und da würde Deine Kontrolle nicht greifen.
Du kannst die ganze Geschichte auch mittels drei Select-Felder lösen, in denen sich der User das Datum zusammenbasteln muß.