TLD checks for common names and dnsnames.

As in title. There is small ugly part that TLD check for common name and dnsname looks pretty much the same, but I wasn't sure where I could extract it. I'm also not sure if my approach to checking whether a name is probably an address or not is correct (I'm converting name to idna and checking whether it contains [a-z0-9-.*] characters). I could add this python package: https://pypi.python.org/pypi/rfc3987, so it will be more advanced.   
Huh? If it doesn't match NOT_X, then sure it should be X? Also, the actual test is for _does_ match?