
入力された文字列が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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
ブラウザの外にあるマウスの情...
-
javaScriptの変数をJavaの変数...
-
innerHTML内では改行は禁止?
-
クリックさせたいが、click()が...
-
fileUploadオブジェクトへの値...
-
ボタン押下しテキストエリアに...
-
親ウィンドウのフォームの値を変更
-
return trueとreturn falseの用...
-
Selectボックスの幅を自動で広...
-
プルダウンで選択した項目にあ...
-
ラジオボタンにタブインデック...
-
TextBoxに半角数字以外を入れた...
-
【掲示板の機能】投稿時にサイ...
-
RegularExpressionValidatorの...
-
【javascript・PHP】プルダウン...
-
至急!GetElementById でtdの...
-
javascriptで画像をテーブルに...
-
【jQuery】input nameの文字列...
-
sessionの値でボタンを活性・非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
javaScriptの変数をJavaの変数...
-
VB.NETで<Input>タグ、<text...
-
iOSのみダブルタップが必要
-
JavaScriptのfileオブジェクト...
-
追加ボタンを押した際に ok ボ...
-
onClickがinput type="image"だ...
-
innerHTML内では改行は禁止?
-
javascriptでチェックボックス...
-
パラメータから取得した文字をH...
-
クリックさせたいが、click()が...
-
JSPファイルにJavaScriptを埋め...
-
ボタンで配列に代入
-
任意の<DIV></DIV>の中に計算結...
-
javascript教えてください
-
WordpressのCocoonというテーマ...
-
ボタンかリンクをクリックする...
-
HTMLのテキストボックスへのド...
-
onclickが動作しない
-
複数のボタンに対するActionと...
おすすめ情報