我的問題:我發現這個練習非常具有挑戰性。我很喜歡出生日期。使用正則表達式驗證出生日期
挑戰:試着拿出正則表達式來驗證下面的文本字符串(不要擔心不區分大小寫):
- 名字 - 應該由標準的英文字母和一個之間十個字符的長度。
- 中間首字母 - 應由標準英文字母組成,且長度只有一個字符。
- 姓氏 - 應由標準英文字母加撇號和長度在兩到十個字符之間。
- 出生日期 - 應該在1/1/1900和12/31/2099之間,並且應該是以下日期格式之一:dd/mm/yyyy,dd-mm-yyyy或dd.mm.yyyy 。
我能夠拿出前三個名字。但我被困在出生日期。
"^[a-z]{1,10}$", // First name
"^[a-z]$", // Middle initial
"^[a-z']{2,10}$", // Last name
請幫幫我。
對日期格式的要求有點混亂。在爲可接受的範圍命名的日期中,您在日期之前有一個月的地方(由12/31表示),但是在日期格式中,日期在前。此外,最早的日期(1/1/1900)寫爲d/m/yyyy。正則表達式是否需要匹配月份和日期的單個數字值,或者該日期是否顯示爲01/01/1900? – CAustin
就在昨天,我寫了一篇有關匹配數字範圍與正則表達式的博客文章,該文章適用於問題的年份(儘管我承認,1900年至2099年非常簡單,正如您的一些答案中所述):http: //aliteralmind.wordpress.com/2014/03/02/regex_numeric_range – aliteralmind
這不是微不足道的,看到我的答案在這裏:http://stackoverflow.com/a/3873172/372239 – Toto