If you want to create really good domain validator you should get database of domain tlds and make validation for them.
Mozilla has that list: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1
Here is a python module for that https://github.com/nmmmnu/TLDExtractor