フォームに入力された値をJavaScriptのURLコンストラクタ(パーサー)でURL形式かチェックする方法
フォームのテキストボックスに入力された値がURL形式になっているかチェックしたかった。実際に存在するURLかどうかのチェックは不要。それ用の正規表現サンプル的なものを調べようとしたところ、JavaScriptのURLコンストラクタ(パーサー)を用いればもっとシンプルに実装できるみたい。以下に対応方法をメモ。
対応方法
ソースコード
console.log(validateUrl(`https://www.google.com`)); //true
console.log(validateUrl(`https://www.google`)); //true
console.log(validateUrl(`google`)); //false
function validateUrl( url ){
try{
new URL(url);
return true;
}catch(e){
return false;
}
}
注意点
ソースコードのコメントの通り「https://www.google」でもtrueが返る。あくまでも指定の値がURLとして構文的にパースできるかどうかをチェックしているため「http(s)://xxxx.xxxx」形式だとtrueが返る点に注意。
リファレンス
URL: URL() コンストラクター
関連記事
-
-
JavaScriptでURLのクエリを取得する2
直近で調べたのとは別に、 http://aaa.bbb/ccc/id123?te ...
-
-
JavaScriptで配列やオブジェクトの値を検索する方法
JavaScriptにて配列やオブジェクトの値を検索する際、今までだとループを回 ...
-
-
javascriptでHTML内に関数を書きたい場合
ダイアログ確認したいだけでわざわざfunctionを書くのもアレだという時に使い ...
-
-
jQueryで偶数or奇数行に任意のClassを付与する方法
tableタグの1行目を除く偶数もしくは奇数行のtrタグに任意にClassを指定 ...
-
-
日付の範囲指定用プラグイン「DateRangePicker」の利用方法
日付型のデータを検索する際に開始・終了日のテキストボックスを用意し、それぞれにタ ...