JavaScript String includes()

includes() 方法用來判斷字串是否包含指定的子字串,回傳 truefalse

語法:

str.includes(searchString[, position])
  • searchString 是要搜尋的子字串
  • position 是可選的起始搜尋位置,預設為 0
  • 回傳 true 表示包含;false 表示不包含

用法:

'Hello World'.includes('World');  // true
'Hello World'.includes('world');  // false(大小寫有別)
'Hello World'.includes('Hello');  // true
'Hello World'.includes('xyz');    // false

指定起始位置:

'Hello World'.includes('Hello', 0);  // true
'Hello World'.includes('Hello', 1);  // false(從位置 1 開始找不到)
'Hello World'.includes('World', 6);  // true

實際應用:

// 檢查 URL 是否包含特定參數
var url = 'https://example.com?page=1&sort=name';
if (url.includes('sort=')) {
    console.log('URL 包含排序參數');
}

// 檢查 email 格式
var email = 'user@example.com';
if (email.includes('@')) {
    console.log('包含 @ 符號');
}

includes() vs indexOf():

var str = 'Hello World';

// indexOf 回傳位置或 -1
str.indexOf('World') !== -1;  // true

// includes 直接回傳布林值,更直觀
str.includes('World');  // true
includes() 是 ES6 新增的方法。如果需要知道子字串的位置,應該使用 indexOf()。includes() 是大小寫敏感的。