La Date de naissance de validation en utilisant des expressions régulières

Ma Question: j'ai trouvé cet exercice très difficile. Je suis un peu coincé sur la Date de Naissance.

Défi: Essayez de venir avec les expressions régulières pour valider la suite de chaînes de texte (ne vous inquiétez pas compte de la casse):

  1. Premier nom — devrait être composé de l'anglais standard des lettres et entre un et dix caractères.
  2. Initiale — devrait être composé de l'anglais standard de lettres et d'être un seul des caractères de longueur.
  3. Dernier nom doit être composé de l'anglais standard lettres plus l'apostrophe et entre deux et dix caractères.
  4. Date de naissance devrait tomber entre 1/1/1900 et 12/31/2099, et devrait être l'un des formats de date suivants: jj/mm/aaaa, jj-mm-aaaa ou jj.mm.aaaa.

J'ai pu trouver pour les trois premiers noms. Mais je suis bloqué sur la Date de Naissance.

   "^[a-z]{1,10}$",  //First name
   "^[a-z]$",        //Middle initial
   "^[a-z']{2,10}$", //Last name

S'il vous plaît aider moi.

Ces exigences pour le format de date sont un peu confus. Les dates nommé pour la plage acceptable, vous avez le mois lieu avant le jour de l' (indiqué par 12/31) pourtant, dans les formats de date, le jour vient en premier. Aussi, la date la plus ancienne (1/1/1900), il est écrit que j/m/aaaa. La regex besoin de correspondre à un seul chiffre valeurs pour le mois et le jour, ou serait-ce la date apparaissent comme 01/01/1900?
Juste hier, j'ai écrit un blog sur la correspondance de nombre-les plages de avec la regex, qui s'applique à l'année-la partie de ton problème (bien que, je l'avoue, de 1900 à 2099 est assez facile, comme indiqué dans certaines de vos réponses): aliteralmind.wordpress.com/2014/03/02/regex_numeric_range
Il n'est pas anodin, voir ma réponse ici: stackoverflow.com/a/3873172/372239

OriginalL'auteur NinjaG | 2014-03-03