需要帮助验证域名

时间:2013-01-11 12:38:00

标签: php regex dns

我需要帮助验证域名。 这是我用来验证的注册表:/^[a-z\d][a-z\d-]{0,62}$/i

它满足了我的需求,但无法验证域名 例如www.google * .com或www.google * .com *。我不想保存这些类型的域名。

这是我正在使用的功能:

$pieces = explode(".",$domain_name);
foreach($pieces as $piece) {
    if (!preg_match('/^[a-z\d][a-z\d-]{0,62}$/i', $piece) || preg_match('/-$/', $piece)) {
        return false;
    }
}

这个指针吗?

1 个答案:

答案 0 :(得分:1)

如果您只想验证网址格式是否正确,请使用:

filter_var('http://example.com', FILTER_VALIDATE_URL);

正则表达式很昂贵,当有可行的替代方案时应该避免使用。