JavaScriptの正規表現を使ってTutorialspointのURLを検証する方法
JavaScriptで特定のURL(ここではTutorialspointのURL)が正しい形式かどうかを検証したい場合、正規表現を使うのが最も手軽な方法です。この記事では、指定したドメインのURLかどうかを判定するサンプルコードとその実行方法を解説します。
URL検証の基本的な考え方
正規表現パターン /^https?:\/\/(tutorialspoint\.com)\/(.*)$/ を使用することで、対象のURLが「https://」または「https://」から始まり、ドメインが tutorialspoint.com であるかどうかを一括してチェックできます。さらに、match() メソッドの戻り値から2番目のキャプチャグループ(ドメイン以降のパス部分)を取り出すことで、パスが存在しないURLを無効と判定できる点がポイントです。
サンプルコード
実際のコードは以下の通りです。
function validateSoundURL(myURL) {
var regularExpression = /^https?:\/\/(tutorialspoint\.com)\/(.*)$/;
return myURL.match(regularExpression) && myURL.match(regularExpression)[2]
}
console.log(validateSoundURL("https://tutorialspoint.com/index"));
console.log(validateSoundURL("https://tutorialspoint.com/java"));
プログラムの実行方法
上記のプログラムはNode.js環境で実行できます。ターミナルから次のコマンドを入力してください。
node fileName.js
ここでは、ファイル名を demo259.js として保存しているものとします。
実行結果
コンソールには以下のような出力が表示されます。
PS C:\Users\Amit\javascript-code> node demo259.js index java
正規表現パターンの詳細解説
各要素がどのような役割を持っているのか、順番に見ていきましょう。
^https?:\/\//:URLがhttps://またはhttps://で始まることを確認します。「?」により「s」があってもなくてもマッチします。(tutorialspoint\.com):ドメイン部分が tutorialspoint.com であることを検証します。ピリオドは正規表現において任意の一文字を意味する特殊文字のため、バックスラッシュでエスケープしています。\/(.*)$:ドメイン直後のスラッシュと、それに続くパス全体にマッチします。「$」は文字列の末尾を表します。[2]:match()の戻り値から2番目のキャプチャグループ(パス部分)を取得します。パスが存在しない場合はundefinedが返るため、検証が失敗したことになります。
このように、正規表現を活用すれば数行のコードで特定ドメインのURL検証を実装できます。許可したいドメインを増やしたい場合は、(tutorialspoint\.com) の部分を ((tutorialspoint|example)\.com) のように拡張することで柔軟に対応できます。
-
JavaScriptのunescape()関数とは?使い方とサンプルコードをわかりやすく解説
JavaScriptのunescape()関数は、escape()関数によってエンコードされた文字列をデコード(元に戻す)ための関数です。ただし、この関数はECMAScript v3以降で非推奨(deprecated)とされており、現在では代わりにdecodeURI()やdecodeURIComponent()を使用することが推奨されています。レガシーなコードの理解や保守の際に役立つ知識なので、ここで基本的な動作を確認しておきましょう。unescape()関数の基本的な使い方以下のコードは、unescape()関数を使ってエンコードされたURL文字列をデコードする例です。ボタンをクリックすると
-
JavaScriptでURLオブジェクトを作成する方法をわかりやすく解説
JavaScriptでは、標準組み込みのURLコンストラクタを使うことで、URL文字列からURLオブジェクトを簡単に生成できます。URLオブジェクトを作成すると、プロトコル(protocol)やホスト名(host)、パス(pathname)など、URLを構成する各要素に個別にアクセスできるようになるため、URLの解析や操作がとても便利になります。 URLオブジェクトの作成例 以下は、JavaScriptでURLオブジェクトを作成し、ボタンをクリックするとその各プロパティを画面に表示するサンプルコードです。 <!DOCTYPE html> <html lang="