問題タブ [url-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2149 参照

c# - URL チェックの正規表現

私の「ServiceEditModel」クラスには、typeof Uri のプロパティ Url があります。検証のために、「編集」ページに入力された URL が有効かどうかを確認する正規表現を検索します。
正規表現はチェックする必要があります

  1. http:// または https:// はありますか
  2. 本文にアルファベットと数字のみが含まれていること
  3. 末尾は、.com、.net、.ch などです。
  4. たとえばhttps://stackoverflow.com/questionsのように、エンディングの背後に別のパラメーターがある可能性があります。

正規表現が入ってくる私のコードは次のようになります:

私はすでに正規表現を探しましたが、これが実際に正規表現を使用した最初の経験であるため、正しいものを見つけることができません。

手伝ってくれてありがとう!

編集

http://www.comsoft-direct.ch/のような「-」文字を含む URL も許可するように、正規表現を更新しました。

更新された正規表現:^(http|https):\/\/([\w\d + (\-)+?]+\.)+[\w]+(\/.*)?$

0 投票する
1 に答える
130 参照

objective-c - 特定の URL の検証

私はこの質問の重複をたくさん見ましたが、最終的に私に適したものは何も見つかりませんでした. iOS の Safari アプリ (たとえば 7) のように、アプリで URL を検証する必要があります。

例: これらの文字列をVALIDATEDにする必要があります http://apple.comhttp://www.apple.com そして、検証されないもの: http://apple.apple; http://apple;http://www.........something

私はこのようにしようとしています:

最後に、99% のケースで機能しますが、無効な文字列を検証することがあります。どうしてか分かりません。例えば:

http://test- 有効 ; http://thkl-無効(そうです)

それが私が解決しようとしている問題です。

0 投票する
1 に答える
109 参照

javascript - jQuery を使用してプラグインなしで URL を検証するための決定的な解決策はありますか?

望ましい動作

フォーム内の単一のフィールドを検証して、それが有効な URL であるかどうかを確認できるようにしたいと考えています。

valid URLつまり、以下は、他のTLDなどと同様に、次の形式を検証します。

フォーム検証の残りの部分はプラグインに依存しないため、可能であればプラグインを使用しないことをお勧めします。

私が試したこと

スタンドアロン正規表現

jQueryでURLを検証することに関して、受け入れられた回答と提案のいくつかをテストしました。

何らかの理由で、それらは機能していないようです。たとえば、プラグインからの正規表現で あると述べられている次のようになります。

有効としてマーク: http://

無効としてマーク: www.site.com

プラグインからの正規表現

次のような一般的なプラグインで使用されている正規表現を探しました。

jQuery 検証プラグイン - https://github.com/jzaefferer/jquery-validation

ソース内の関連する正規表現は次のようになります。

機能をテストするために、GitHub からマスターをダウンロードして実行demo/index.htmlしたところ、Firebug コンソール エラーが発生しました。

最初のコード サンプルで使用するために上記の正規表現をコピーして貼り付けたところ、以下が有効とマークされました。

と:

h5Validate - https://github.com/dilvie/h5Validate

ソース内の関連する正規表現は次のとおりです。

このスニペットを使用すると、最初のコード サンプルのコンテキストで、次のものが有効であるとマークされます。

これをしない、または別の方法で行う

正規表現を介して URL を検証しようとする試みは無駄であると述べている投稿を見てきました。

https://stackoverflow.com/a/1305082/1063287

そして、サーバー側で実行できること(たとえば、Pythonを使用):

https://stackoverflow.com/a/161749/1063287

質問

投稿時のように、jQueryを使用してプラグインなしでURLを検証するための決定的な解決策があるかどうか疑問に思っていますか?

0 投票する
1 に答える
58 参照

php - 特定の文字列に含まれる URL を 1 つを除いて非表示にします

私は小さなチャット システムを備えた予約サイトを持っており、潜在的なゲストがホストにメッセージを送ることができます。たとえば、部屋が空いているかどうかを尋ねることができます。

自分のサイト ドメインの URL を除いて、ユーザーが入力した URL を非表示 (= **** に置き換え) にしたい。現在、任意の URL に正常に一致する正規表現があります。

mydomain.comを含む URL 以外のすべての URL に一致するように、それを編集する必要があります。

これらの文字列の期待される結果:

「こんにちは、代わりに私のサイトをチェックしてください www.othersite.com/room/123」

preg_replace の後:

「こんにちは、代わりに私のサイトをチェックしてください****」


「こんにちは、この部屋は空いていますか? www.mydomain.com/room/123」

preg_replace の後:

「こんにちは、この部屋は空いていますか? www.mydomain.com/room/123」

0 投票する
1 に答える
893 参照

java - 無効な URL がコスト エラー ページにリダイレクトされる場合は、有効なリンクを確認します。

特定のページのリンクが有効かどうかをテスト(Selenium)する必要があります。ここでそれについての良い投稿を見つけました

http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

しかし問題は、エラー ページがカスタム エラーページにリダイレクトされる場合はどうなるかということです。次に、 404の代わりに200または302を取得します。404 をリダイレクトする Web ページの URL の有効性を確認するにはどうすればよいですか。

0 投票する
1 に答える
1063 参照

c# - 文字列が相対 URL ではないことを検証する

URL を表す文字列が相対であることを検証しようとしていますがUri.TryCreate()、プロトコルのない URL を相対として受け入れるようです (例: www.domain.com/something/else.aspx)。しかし、必要なのは /something/else.aspx/ だけです

たとえば、このテスト文字列は、uri.PathAndQuery9 行目に到達しようとすると常に例外をスローします。ただし、TryCreate()true を返します。

入力/出力の例:

入力: /something/else.aspx ==> 出力: /something/else.aspx

入力: www.domain.com/something/else.aspx ==> 出力: /something/else.aspx

入力: http://www.domain.com/something/else.aspx ==> 出力: string.Empty

URLの相対パスが与えられた場合、それが実際に相対であることを検証し、ユーザーがドメインも通過した場合にパスとクエリを取得するにはどうすればよいですか?

0 投票する
1 に答える
5165 参照

java - UrlValidator が localhost で機能しない

コードで UrlValidator を使用しているという問題に直面しています。

.IllegalArgumentException n を取得しています url ie を渡している場合

正常に動作しています。このコードを localhost:8080 で動作させる方法