gpt4 book ai didi

javascript - 使用 JavaScript 验证 URL?

转载 作者:行者123 更新时间:2023-11-30 18:37:11 25 4
gpt4 key购买 nike

我有一个应用程序,其中用户有一些设置页面,其中一些设置允许在其中输入 URL。我希望能够使用 javascript 运行检查以确保他们输入的 URL 有效并且是真实的 URL。

当他们点击提交时,它会执行它应该做的事情,或者如果 URL 中有错误,弹出警告并说“输入的 URL 无效!”。

有没有办法用 JS 做到这一点?我还希望此脚本能够与 http://和 https://以及 www 一起使用。在 URL 和每个域扩展名(.com、.tv 等)中。这也需要使用 JavaScript 而不是 jQuery 来完成。

谁能告诉我怎么做?谢谢。

最佳答案

看来你想做两件事:

1) 确定 URL 是否有效(即格式正确)

为此,正则表达式可以很好地工作,如果您想这样做,这种方法还允许您检索 URL 的各个部分。

这已经在这里讨论过:What is the best regular expression to check if a string is a valid URL? .

2) 确定该 URL 是真实的(即,如果有人关注它,他们会找到一些东西)

这比较棘手,但您可以尝试对 URL 发出 AJAX 请求,如果失败或超时,则假定它已关闭。由于站点上的 XSS 安全功能,此方法可能存在一些限制。

如果这是一个问题,您可以创建一个您自己设计的服务,该服务在您的 JavaScript 向其发出请求的服务器上运行,将 URL 传递给它,然后它以失败或成功作为响应。

这是一个例子:

verify.js

function verifyURL (url) {
// with jQuery
$.getJSON('check-url.cgi', { url : url }, function (res) {
console.log(res); // display server response
if ( res.status == 'success' ) {
// URL is real
} else {
// URL is not real
}
});
}

check-url.cgi

#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;

use CGI qw(:standard);
use JSON::XS;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->agent("URL Checker/0.1");

my $url = param('url');
my $req = HTTP::Request->new(GET => $url);
my $res = $ua->request($req);
my $status = $res->is_success ? 'success' : 'failure';

print header('applicaton/json'), encode_json { status => $status };

关于javascript - 使用 JavaScript 验证 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7925182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com