入力された文字列がURLかどうかの判定はどのようにすれば良いですか?
URL:https://www.google.co.jp
URLではない:https://www.goog
何かメソッドがあるのでしょうか?
よろしくお願いします。
javascript
No.2ベストアンサー
- 回答日時:
Javascript で処理するのなら、こんな感じですね。
━ ココから ━━━━━━━━━━━━━━━━━━━━━━━━
<script type="text/javascript" defer="defer">
/*<![CDATA[*/
function my_func(){
if ( !document.getElementById("my-url").value ) {
alert("empty...");
return;
}
else {
var my_input = document.getElementById("my-url").value;
var my_reg = new RegExp("^https?:\\/\\/[\\w_\\-\\.]+[^\\.]\\.([a-z]{2,2}\\.[a-z]{2,2}|[a-z]{2,3})\\/?$");
var my_result = my_input.match(my_reg);
if ( my_result ) {
alert("the text is URL.");
}
else {
alert("the text is not URL.");
}
}
}
/*]]>*/</script>
<p>判定テスト</p>
<form id="my-form">
<input type="txet" size="60" id="my-url" value=""></input>
<input type="button" id="my-button" value="判定する" onClick="my_func()"></input>
</form>
━ ココまで ━━━━━━━━━━━━━━━━━━━━━━━━
コレが基本形として、後は適当に必要な処理を付け足していってください。
P.S.
URLの形は結構複雑と言うか、実に様々な形がありまして…。なので回答者No.1さんが仰る通り、例文の「https://www.goog」も現状、実在はしませんが形式的には合ってます。言わんとする所は分かります。要は標準的な「http://~」で始まる普通?のURLを判別したいと言う事なのでしょう。また通常の運用でも、ほぼその解釈で間違いありません。
この解答例だといわゆる「ドメイン名のみ」のURLでしか通りません。つまり「http://example.com/abc/123.html」だと「NO判定」となります。普通はURLと申しますと、末尾のファイル名まで込みで考えるものですが…例文がドメイン名のみで指定してあったので、それに従いました。
ディレクトリ階層やファイル名を含めた判別をするためには、もう少し複雑な正規表現処理をしないとなりません。まあそれは宿題と言うか、必要に応じて自分で考えてください。と言うか他人ではどの様な処理が必要なのか、分かりかねますので…。
No.4
- 回答日時:
>実際にたっているかとか参照可能かという次元での質問です。
実際にアクセスで正常が返ってくるURLかどうかと言うことなら、実際にアクセスしてみないとわかりません。
ブラウザ上で動くJavaScriptではチェック不可能です。サーバーサイドなら可能。
No.3
- 回答日時:
>実際にたっているかとか参照可能かという次元での質問です。
そうなると非常に面倒かつ思い処理です。
まず実際に立っているかどうかはdnsでaレコードをチェックする必要があるでしょう。
また単にdnsに登録されていてもhttpやhttpsが立っているかどうかは接続チェックを
してみないとわかりません。
また、本来は立っているが一時的にアクセスできない可能性も否定できません
任意の手法を用いれば不可能ではありませんが
それらの流れをjavascriptで行うことは現実的ではないので
「できない」というのが回答で問題ないとおもいます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- WordPress(ワードプレス) Wordpressの記事URLを自由に決めたい 3 2022/06/02 12:05
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(IT・Webサービス) MacとWindows Google検索した時のURL表示の違いについて 1 2022/11/17 10:38
- WordPress(ワードプレス) WordPressの記事の途中に差し込む 1 2023/06/29 11:18
- その他(プログラミング・Web制作) 恒久的リダイレクトについて 2 2023/07/13 15:58
- その他(IT・Webサービス) GoogleサイトによるHP作成後、皆さんへの通知方法 1 2023/04/04 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
クリックさせたいが、click()が...
-
if構文
-
マウスをかざすとおこるイベント
-
クリックでテーブル内の背景色...
-
JavaScriptの勉強をしているの...
-
追加ボタンを押した際に ok ボ...
-
javascriptのちょっとした動作...
-
【UWSC】HTML内のある部分を抽...
-
name属性のないformタグの、中...
-
テキストボックスの背景色について
-
VBScriptでpingを実行(ブラウザ...
-
【Javascript】formで取得した...
-
一覧から選択した行の行番号を...
-
xml 読み込みランダムで表示す...
-
フォームのチェックボックスの...
-
読み込み中に「Now Loading」を...
-
複数のプルダウンを1つにまとめ...
-
Javascript DOM?
-
jquery datatablesを使用 イン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
追加ボタンを押した際に ok ボ...
-
クリックさせたいが、click()が...
-
onclickが動作しない
-
ボタンかリンクをクリックする...
-
javaScriptの変数をJavaの変数...
-
formのfileの値をhiddenでも持...
-
JSのボタンを複数う使うには
-
JavaScriptのfileオブジェクト...
-
innerHTML内では改行は禁止?
-
開いた子ウィンドウにあるボタ...
-
BackSpaceしたい(QNo.2734284の...
-
VB.NETで<Input>タグ、<text...
-
オンクリックで現在時刻の取得→...
-
JQueryでfunctionに引数としてI...
-
複数のテキストボックスの値の...
-
onClickがinput type="image"だ...
-
クリック→テキストボックスに追加
-
Javascriptで'(シングルクォー...
-
テキストフィールド未入力の場...
おすすめ情報