1

ユーザーがウェブサイトに入力するフォームがあります。問題は、私が望まない電子メール アドレスを入力するユーザーがいるということです。URLが適切に構造化されているかどうかを確認する方法が必要です。たとえば、@ なし、ルート ドメインが必要です。www サブドメインはオプションです。私はこれをどこにも見つけることができません。

私はこのコードを試しました

if (!Uri.TryCreate("http://" + websiteurl, UriKind.Absolute, out uri) || null == uri)

エラー時に false を返しますが、私の問題は、ルートドメインがなくても検証できることです。

http://websitename 

そして、私が望まない罰金を検証します。入れたときにfalseを返します

http://websitename@. 

この問題を克服する方法はありますか? また、私は追加しました

URL が検証されないため、パススルー値に http:// を使用します。

4

4 に答える 4

5

以下を使用できます。

Uri.IsWellFormedUriString(inputUrl, UriKind.RelativeOrAbsolute)
于 2012-12-17T13:48:36.757 に答える
1

パフォーマンスのニーズによっては、彼らが提供する Web サイトの URL に対してクイックHttpWebRequestを発行し、成功の応答が返されることを確認することが適切なオプションになる場合があります。

于 2012-12-17T13:47:29.673 に答える
0

正規表現で試すことができます。

于 2012-12-17T13:49:56.707 に答える
0

Uri.IsWellFormattedUriStringでは、有効な Url と電子メール アドレスを区別する機能など、ここでの問題は解決されません。どちらも適切にフォーマットされた Uris です。

正規表現を使用します。これは、C# を使用した MS フォーラムの 1 つです。

正規表現による URL 検証

ただし、サーバーに送信される前に、これを実際に検証する必要があります。Peter Blum バリデーターを使用している場合、彼は既に作業を完了しています。

ピーター・ブラムのバリデーター

または、独自の JavaScript ファイルを挿入する場合は、この StackOverflow スレッドを確認してください。

jQuery を使用した URL 検証

于 2012-12-17T14:08:24.670 に答える