質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.75%

  • HTML

    8300questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • HTML5

    3724questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML5 : input要素から入力されたURLのエラーチェック

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 153

h.morikawa14

score 8

実現したいこと

HTMLのinput属性から入力されたURLに対しての質問です。

入力されたURLに対して、最低限以下のエラーチェックを行いたいです。

  • 「http://」の前方一致
  • 「https://」の前方一致

上記のエラーチェック以外に、何かURLとしてチェックしたほうがよい項目などはございますでしょうか?

検索能力が低く自身で解決することができなかったため、この場をお借りして質問させていただきます。
恐縮ですが、何卒よろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mts10806

    2018/04/26 11:50

    調べてみたこと、やってみたことを追記してください。また参考先サイトがあればURLも質問に追記してください。既に見た先が回答についてしまうと無駄なやり取りが発生しますし、もしかしたら参考記事の理解が間違っているために解決に至れていないのかもしれません。https://teratail.com/help/question-tips#questionTips1-2

    キャンセル

回答 3

checkベストアンサー

+5

最低限という意味ではこんな感じ

<form>
<input type="url" name="u">
</form>


上記だ「http://a」とか「http://漢字」でも通ります。
あとは何をチェックしたいかによります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

java.net.URLを使うといいと思います。

String url = "http://foo.com/bar";
try {
    URL check = new URL(url);
    switch (check.getProtocol()) {
        case "http": case "https":
            // OK
            break;
        default:
            throw new MalformedURLException(
                "httpまたはhttpsのみ有効です");
    }
} catch (MalformedURLException e) {
    // エラー処理
}

ドキュメントを見るとわかりますが、ホスト名やポート番号などを取り出せるので、さらに細かいチェックも追加できます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

質問の意図を正確には把握していないのですが、URLは手打ちせずにコピーすればミスを防げます。コピーできない画像内に含まれるURLはgoogle driveの機能の一種であるgoogleドキュメントを使えば画像内の文字をテキスト化するので対応できます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/26 12:08

    回答ありがとうございます。
    こちらから入力する値ではなく、formにクライアント側から入力されたURLのリンクを、文字列だけでエラーチェックをするためには、URLのなかのどういった点で判断すればいいのかという質問です。
    説明足らずで申し訳ございませんでした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    php チェックボックスについて

    お世話になります *********** if(empty($_POST["_icon"])){ $_SESSION["_icon_memo1"] = $_POST["_icon"

  • 解決済

    チェックボックスのバリデーション

    AngularJSでのチェックボックスのバリデーション(少なくとも1つが選択されている)を行う方法はあるのでしょうか? 目的は、削除する対象をチェックボックスで選択後に削除実行ボ

  • 解決済

    servletのエラーメッセージ

    サーブレットで演算プログラムを作成しました。しかし、こうじゅつのエラーメッセージが出てしまいます。 どう修正すればよいでしょうか。 「サーブレット」 package form

  • 解決済

    【unity】タップした位置にオブジェクトをひとつだけ生成する方法について

    はじめて質問させていただきます。 ■前提 Unity5を使ってとあるプログラムを作っているのですが、 画面上をタップ(もしくはクリック)した位置(x座標、y座標、z座標は

  • 解決済

    JavaScript 「削除」でエラー???

    ・ラジオボタン「投稿」がチェックされている状態の場合はチェックボックス非表示   ・ラジオボタン「更新」「削除」がチェックされた場合のみチェックボックス表示   ・チェックボッ

  • 解決済

    フォーム入力:電話番号の"-"を判定する

    Javascriptで登録フォームを作成しようとしておりまして、11桁の電話番号の箇所に"-"が入力されているかどうかをチェックして、もし"-"が場合は再入力をするように促すフォー

  • 解決済

    codeigniterへのフォーム送信

    フォームに入力して送信したデータをcodeigniterでPOSTで受け取りたいのですが、 どうすればいいでしょうか。viewにフォーム、controllerに受け取る記述をすれ

  • 解決済

    url 404チェックにつきまして

    お世話になります。 現在ウェブページの404エラーをチェックしているのですが、1つ1つのチェックなので非常に手間がかかっております。 こういったチェックを範囲を区切って

同じタグがついた質問を見る

  • HTML

    8300questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • HTML5

    3724questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。