0

我需要帮助来验证域。这是我用来验证的 reg-ex:/^[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;
    }
}

对此有任何指示吗?

4

1 回答 1

1

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

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

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

于 2013-01-11T12:48:53.020 回答