JavaScript >> Javascript 文檔 >  >> Tags >> string

在 JavaScript 中使用 include() 檢查字符串是否包含子字符串

使用 String.includes() 檢查字符串是否包含子字符串 在 JavaScript 中:

  1. 調用String.includes() 字符串上的方法。
  2. 將子字符串作為參數傳遞,例如String.includes(substr) .
  3. String.includes() 方法返回 true 如果子字符串包含在字符串中。否則,false 被退回。
const str = 'React is a popular JavaScript library.'
const substr = 'React'

if (str.includes(substr)) {
  console.log(`String contains "${substr}"`)
} else {
  console.log(`String does not contain "${substr}"`)
}
// String contains "React"

String.includes() 方法有兩個參數:

  1. searchString — 要在此字符串中搜索的子字符串。
  2. position — 開始搜索的索引。此參數是可選的。如果未指定,搜索將從零開始。

這是另一個使用 String.includes() 的示例 檢查句子中是否存在單詞:

const sentence = 'The JavaScript is a client-side language.'

const word = 'language'

console.log(`The word "${word}" is ${sentence.includes(word) ? 'present' : 'not present'}.`)
// The word is present.

String.includes() 方法區分大小寫,這意味著它對大寫和小寫字符的作用不同。以下表達式將返回 false

'JavaScript Jobs'.includes('jobs') // false

在上面的示例中,第二個參數被跳過,因為我們希望搜索從字符串的開頭開始。大多數時候,第二個參數是不需要的。

不過可以使用第二個參數來限制搜索範圍,如下圖:

const str = 'How are you doing? I am much better.'

str.includes('much', 20) // true

如果起始索引大於等於字符串的長度,String.includes() 方法不執行任何搜索,只返回 false

'My name is Atta!'.includes('Atta', 20) // false

如果起始索引小於 0,則 String.includes() 方法搜索整個字符串,就好像沒有指定索引一樣:

const str = 'Welcome to my blog!'

str.includes('blog', -5) // true

String.includes() 除 Internet Explorer 和一些舊版 Android 瀏覽器外,所有現代瀏覽器都支持該方法。但是,您可以輕鬆添加以下 polyfill 以在所有瀏覽器上使用它:

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }

    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}

注意第一行。它功能檢測對 String.includes() 的支持 並且僅在瀏覽器不支持 String.includes() 時才加載 polyfill 方法。

閱讀本文以了解可用於檢查字符串中是否存在子字符串的其他 JavaScript 函數。


Tutorial JavaScript 教程
  1. Javascript 命名空間模式

  2. 你不懂 JS:入門:附錄 A(進一步探索)筆記

  3. 跨站點腳本 (XSS),您的 SPA 真的安全嗎?

  4. 讓你的 JavaScript 可調試

  5. firebase 是一個不錯的選擇嗎?

  6. Immutable.JS 發生了什麼?我們該如何應對?

  7. 使用 Docker 設置 Flask、NextJs 應用程序

  1. React Query:如何組織你的密鑰

  2. 繼續 React 和 Redux……我想談談 REDUCERS!

  3. 我如何使用 HarperDB 自定義函數和 Recharts 創建儀表板

  4. 消除 UI 測試的恐懼😱

  5. 你、我和 package.json

  6. |快遞|會議

  7. 5 個輸入事件,您將在下一個項目中至少使用其中一個。

  1. 使用 TailwindCSS 創建儀表板 - 第 3 部分

  2. 在帶有融合圖的餅圖中顯示圖例

  3. 簡單的 React 投資組合 - 第 1 部分

  4. React:簡介