勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

フォームに入力された値をJavaScriptのURLコンストラクタ(パーサー)でURL形式かチェックする方法

  JavaScript

フォームのテキストボックスに入力された値が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() コンストラクター

https://developer.mozilla.org/ja/docs/Web/API/URL/URL

 - JavaScript

  関連記事

CKEditor(WYSIWYGエディタ)の設置方法と日本語化
CKEditor(WYSIWYGエディタ)の設置方法と日本語化

今までWYSIWYGエディタを導入する際はNicEditを使用していたが、あんま ...

JavaScriptの変数宣言であるvar / let / constの使い分けについて
JavaScriptの変数宣言であるvar / let / constの使い分けについて

JavaScript関連の調べ物をしていた際、変数の宣言時にvarではなくlet ...

formのtextareaに文字を入力した内容をリアルタイムプレビューする方法
formのtextareaに文字を入力した内容をリアルタイムプレビューする方法

textarea内に書いた内容をリアルタイムでプレビューする機能が必要になった。 ...

JavaScriptにて数値のカウントアップ及びカウントダウンを表示する「countUp.js」ライブラリの利用方法
JavaScriptにて数値のカウントアップ及びカウントダウンを表示する「countUp.js」ライブラリの利用方法

だいぶ前にバニラJSにて数値のカウントアップ及びカウントダウン表示を行う方法をメ ...

jQuery UIを使って簡単にダイアログを表示させる方法
jQuery UIを使って簡単にダイアログを表示させる方法

ブラウザ上でユーザーに対してちょっとした確認を行いたい場合はJavaScript ...