[解決済み] AndroidのEditTextでURL/Webサイト名を検証する方法は?
質問
URLやサイト名などを入力したいのですが、どのようにすればよいですか?
www.google.com
から
EditText
をクリックすると
Button
をクリックすると送信されます。
EditText
がフォーカスを失ったとき、URLは検証される必要があります。
という形式で検証されます。
www.anyURL.com
という形式です。
どうすればいいのでしょうか?アンドロイドに内蔵されている機能はありますか?
どのように解決するのですか?
短い答え
パターンクラスでWEB_URLパターンを使用します。
Patterns.WEB_URL.matcher(potentialUrl).matches()
これは URLが有効であれば真 そして が無効な場合は false となります。 .
長い回答
Android API レベル 8 では WEB_URL パターンがあります。ソースを引用すると、それは RFC 3987 のほとんどの部分と一致します("es)。もし、より低いAPIレベルをターゲットとするならば、単にパターンをソースからコピーして、アプリケーションに含めることができます。パターンやマッチャーの使い方はご存知だと思いますので、ここではこれ以上詳しく触れません。
また、クラス URLUtil はいくつかの便利なメソッドを提供しています。
メソッドの説明はあまり詳細ではないので、おそらくソースをみて、どれがあなたの目的に最も合うかを見つけるのが最善でしょう。
いつバリデーションチェックを開始するかについては、複数の可能性があります: EditTextコールバック関数を使用することができます。
を使用するか、または テキストウォッチャー を使うか、その方が良いと思います。
使用しないでください。 URLUtil を使って、以下のようにURLを検証してください。
URLUtil.isValidUrl(url)
のような文字列を有効なURLとして与えてしまうため、正しくありません。
関連
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] PendingIntentの "requestCode "は何に使うのですか?
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] Androidのソースコードにある@hideの意味とは?
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] 通知をクリックした後にアプリケーションを開く
-
[解決済み] TextView.setTextSizeの挙動がおかしい - テキストビューのテキストサイズを画面ごとに動的に設定する方法
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
-
[解決済み] google-services.jsonって実際何してるの?