JavaScript で文字列が URL かどうかを確認する方法はありますか?
正規表現は除外されます。URL は のように記述される可能性が高いためですstackoverflow
。つまり、 、 、 が含まれない可能性が.com
ありwww
ますhttp
。
ベストアンサー1
文字列が有効なHTTP URLであるかどうかを確認したい場合は、次のようにします。URL
コンストラクタ(不正な文字列の場合は例外が発生します):
function isValidHttpUrl(string) {
let url;
try {
url = new URL(string);
} catch (_) {
return false;
}
return url.protocol === "http:" || url.protocol === "https:";
}
注: 1人あたりRFC 3886URL はスキームで始まる必要があります (http/https に限定されません)。例:
www.example.com
有効な URL ではありません (スキームがありません)javascript:void(0)
有効なURLですが、HTTPではありませんhttp://..
ホストが有効なURLです..
(解決されるかどうかはDNSによって異なります)https://example..com
有効なURLです。上記と同じです