As mentioned in this Jakob Nielsen article, drop down lists should be avoided for data that is well known to the user:
Menus of data well known to users, such as the month and year of their birth. Such information is often hardwired into users' fingers, and having to select such options from a menu breaks the standard paradigm for entering information and can even create more work for users.
The ideal solution is likely something like follows:
- Provide 3 separate text boxes for day, month, and year (labeled appropriately)
- Sort the text boxes according to the user's culture.
- Day and Month text boxes should be sized so that a 2 digit input is assumed.
- Year text box should be sized so that a 4 digit year is assumed.
- Allow the user to enter a 2 or 4 digit year. Assume a 2 digit year is 1900, and update the textbox to reflect this onBlur (or on a following confirmation step).
- Allow the user to enter either a month number OR month name.
EDIT: Here is how we implemented our DOB picker: Masked text input field with HTML5 regex to force the numeric keyboard on iOS devices.
http://www.huntercourse.com/usa/texas/