フォームに入力された値を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() コンストラクター
関連記事
-
-
「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法
「slick」で画像スライダーを表示する際にarrows(次に進む・前に戻るボタ ...
-
-
Leafletでマーカーをグループ化し、チェックボックスの状態により表示非表示を切り替える方法
LeafletとOpenStreetMapでマップ上にマーカーを複数設置した上で ...
-
-
Ajaxでプラグイン無しのファイルアップロード方法
画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...
-
-
jQuery UIのDatepickerでリセット(入力内容消去)ボタンの追加方法
jQuery UIのDatepickerでキーボード入力を防ぎたいためreado ...
-
-
JavaScriptにて時間や長さの単位を変換及び計算できる「mathjs」ライブラリの利用方法
JavaScriptにて時間の単位を「分->時」に、長さの単位を「mm-& ...