首页 > 代码库 > PHP 正则后瞻 超强匹配是否是域名,准确率99%

PHP 正则后瞻 超强匹配是否是域名,准确率99%

/^([a-z0-9]+([a-z0-9-]*(?:[a-z0-9]+))?\.)?[a-z0-9]+([a-z0-9-]*(?:[a-z0-9]+))?(\.us|\.tv|\.org\.cn|\.org|\.net\.cn|\.net|\.mobi|\.me|\.la|\.info|\.hk|\.gov\.cn|\.edu|\.com\.cn|\.com|\.co\.jp|\.co|\.cn|\.cc|\.biz)$/i

匹配网址:

    /**
     * @author      Default7 <default7@zbphp.com>
     * @description 匹配
     *              t.cn 正确
     *              t-.cn 错误
     *              tt.cn正确
     *              -t.cn 错误
     *              t-t.cn 正确
     *              tst-test-tst.cn 正确
     *              tst--tt.cn -- 错误
     *
     *
     *
     * @param $domain
     *
     * @return bool
     */
    public function isDomain($domain)
    {
        return !empty($domain) && strpos($domain, '--') === false &&
        preg_match('/^([a-z0-9]+([a-z0-9-]*(?:[a-z0-9]+))?\.)?[a-z0-9]+([a-z0-9-]*(?:[a-z0-9]+))?(\.us|\.tv|\.org\.cn|\.org|\.net\.cn|\.net|\.mobi|\.me|\.la|\.info|\.hk|\.gov\.cn|\.edu|\.com\.cn|\.com|\.co\.jp|\.co|\.cn|\.cc|\.biz)$/i', $domain) ? true : false;
    }
如果有问题bug,欢迎指正 by default7#zbphp.com

PHP 正则后瞻 超强匹配是否是域名,准确率99%