Email address validation always seems to be difficult. In reality, it's not difficult, it's just tedious. I tend to find a lot of broken email validators because my email address is a bit less than common.
However, fixing the code in that manner would still cause it to consider addresses ending in ".info", e.g. to be invalid. A better solution would be to determine the actual rules governing the naming of TLDs and implement a correct validation algorithm.
It looks like you have the same bug in the "isURL" function.
I'm interested in seeing what sort of customer service response a "contact us" message like this will generate.
Ironically, I am currently wearing my "No, I will not fix your computer." shirt.