我正在尝试使用 jQuery 验证器验证 URL,但我使用的正则表达式错误地验证了带有子域(例如:)的域,subdomain.domain
而没有 TLD 为真。
我有这个,它验证一个子域:
jQuery.validator.addMethod("domainChk", function (value, element, params) {
if (this.optional(element)) return true;
var regExp = new RegExp("^[a-zA-Z0-9][a-zA-Z0-9.-]*[a-zA-Z0-9]$");
return regExp.test(value);
}, "Valid hostname required for player code");
它也没有正确验证 TLD。所以,我可以输入subdomain.domain.aaa123
并验证。它还验证少于 2 个字符的 TLD。
这只需要对美国观众进行验证(因此加拿大或类似国家的 .ca 不需要验证)