如何使用PHP和jQuery检查变量是否包含有效的url?

如何使用PHP和jQuery检查变量是否包含有效的url?,php,javascript,jquery,dns,whois,Php,Javascript,Jquery,Dns,Whois,我想做一个whois检查脚本 用户可以提交一些域地址,然后得到一条消息,如果它可用或不可用 $\u POST['url']是用户提交的值 如何知道此变量是否为域名地址 对于以下领域,它应该给出true: http://google.com www.google.com http://www.google.com google.com javascript也是如此(我也在使用ajax验证)?您可以使用以下代码: 示例: $url = "http://0gate.com"; // you can

我想做一个whois检查脚本

用户可以提交一些域地址,然后得到一条消息,如果它可用或不可用

$\u POST['url']
是用户提交的值

如何知道此变量是否为域名地址

对于以下领域,它应该给出
true

http://google.com
www.google.com
http://www.google.com
google.com

javascript也是如此(我也在使用ajax验证)?您可以使用以下代码:

示例:

$url = "http://0gate.com"; // you can use instead - $_POST['url']
if (!preg_match("/^[http|https]*[:\/\/]*[A-Za-z0-9\-_]+\.([A-Za-z]{3,4})+([\.A-Za-z]{3})*$/i", $url)) {
  echo "The domain [not valid - false]";
}else{
  echo "The domain is [valid - true]";
}

如果要检查url是否为有效的url,可以将其与筛选器一起使用


@Jon的可能副本这是关于验证,而不是提取。@Madmartigan我认为我们不应该发送任何查询,因为有效的url是submitted@Madmartigan是的,但这不是一个有效的URL(目前)。有人知道一些类似的脚本来通过javascript或jQuery检查域地址吗?哦,你的意思是喜欢吗?如果要复制/粘贴答案,请至少指定源代码的属性。如果只需要主机,则可以使用
$host=parse\u url($url,PHP\u url\u host)@LionKing:无意冒犯,很明显你复制了链接的答案并更改了几个字符。@Lion King在一个问题已经得到回答时,正确的帮助是在评论中链接到该问题和/或标记该问题。如果不是域,我们怎么知道?$getdomain为false?@Steve Easy fix,如果没有,只需在http://前面加上前缀,然后使用此函数即可。@Madmartigan好的,您知道javascript检查的解决方案吗?@Steve很抱歉,我错过了您的示例URL。我以为您想检查url是否有效。没有协议的url不是有效的url。@Steve:IMO,请通过验证或自己格式化字符串来强制执行严格的url格式,然后将其传递给Whois API。问题是,您正在尝试接受和验证本身不是有效URL的字符串,如
this.one
filter_var($_POST['url'], FILTER_VALIDATE_URL)