【JavaScript】startsWith / endsWith – 文字列が特定の文字列で開始、終了しているか判断するメソッド

JavaScriptのstartsWith()endsWith()は、文字列が特定の文字列で始まっているか、または終わっているかを判定するメソッドです。検索処理やバリデーションなど、さまざまな場面で役立つため、基本的な使い方や実用例をまとめていきたいと思います。

startsWith() メソッドとは?

startsWith()は、文字列が特定の文字列で始まっているかを判定し、trueまたはfalseを返すメソッドです。

基本的な構文

JavaScript
文字列.startsWith(検索する文字列 [, 開始位置])
  • 検索する文字列:確認したい先頭部分の文字列を指定します。
  • 開始位置(省略可能):検索を開始する位置(インデックス番号)を指定します(デフォルトは 0)。

基本的な使い方

JavaScript
const text = 'コーヒーはおいしいです。';
console.log(text.startsWith('コーヒー')); // true
console.log(text.startsWith('おいしい')); // false

開始位置を指定

JavaScript
const sentence = 'Hello, JavaScript!';
console.log(sentence.startsWith('JavaScript', 7)); // true(インデックス7から検索)

endsWith() メソッドとは?

endsWith()は、文字列が特定の文字列で終わっているかを判定するメソッドです。

基本的な構文

JavaScript
文字列.endsWith(検索する文字列 [, 検索する長さ])
  • 検索する文字列:確認したい末尾部分の文字列を指定します。
  • 検索する長さ(省略可能):文字列の長さを指定し、その範囲内で末尾をチェックします。

基本的な使い方

HTML
const message = '今日はカフェラテが飲みたい気分です。';
console.log(message.endsWith('です。')); // true
console.log(message.endsWith('飲みたい')); // false

検索範囲を指定

HTML
const filename = 'recipe.pdf';
console.log(filename.endsWith('recipe', 6)); // true(先頭6文字までの範囲でチェック)

使用時の注意点

大文字小文字を区別する

両メソッドとも大文字小文字を区別するため、適切な比較が必要です。

JavaScript
console.log('Coffee'.startsWith('coffee')); // false
console.log('Coffee'.toLowerCase().startsWith('coffee')); // true

部分一致ではなく完全一致で比較する

startsWith()endsWith()は部分一致ではなく、指定した位置の完全一致を判定します。

JavaScript
console.log("hello world".startsWith("world")); // false

さいごに

  • startsWith() は文字列が指定の文字列で始まっているかを判定します。
  • endsWith() は文字列が指定の文字列で終わっているかを判定します。
  • 大文字小文字を区別するため、必要に応じてtoLowerCase()を活用しましょう。
  • フォーム入力などで使用する場合は、trim()を併用して余分なスペースを除去しましょう。