用于检查有效 url 的正则表达式 http 或 www

regex to check valid url either http or www

我想检查插入的用户 URL 是否有效。 我有不同的情况允许用户插入 URL

1) www.test.com (valid)
2) http://test.com (valid)
3) http://www.test.com (valid)
4) www.test (not valid)

这样用户将能够插入 wwwhttp,如果用户仅插入 www,则在 URL 之前预先附加 http://。 我发现很多正则表达式,但他们严格检查 http://.

提前致谢。

查看this link可能对您有所帮助。

<?php
// Variable to check
$url = "http://www.w3schools.com";

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
     echo("$url is a valid URL");
} else {
     echo("$url is not a valid URL");
}
?>

我认为在第 3 点中,您有误。你写了"wwww"

除此之外,正确的正则表达式模式可能如下:

^(https?:\/\/)?(www\.)?[a-z0-9]+\.[a-z0-9]{2,3}$