使用jQuery validate插件正确发布验证URL和TLD

时间:2015-07-27 15:12:11

标签: javascript regex jquery-validate

我正在尝试使用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进行验证)

1 个答案:

答案 0 :(得分:0)

尝试:^(?:https?:\/\/)?(?:www\.)?(?:\w+?\.){2}(?:com|us)$

Demo here

您可以在|<tld>之后添加us来添加更多有效的TLD。