JavaScript 字串 startsWith

Mehvish Ashiq 2023年10月12日
  1. 在 JavaScript 中使用字串 startsWith() 方法
  2. 在 JavaScript 中使用 indexOf() 函式來檢查字串是否以另一個字串開頭
  3. 在 JavaScript 中使用 lastIndexOf() 函式檢查字串是否以另一個字串開頭
  4. 在 JavaScript 中使用 substring() 函式檢查字串是否以另一個字串開頭
  5. 使用 Regex 的 test() 方法檢查字串是否以 JavaScript 中的另一個字串開頭
  6. 在 JavaScript 中使用帶有迴圈的自定義函式來檢查字串是否以另一個字串開頭
JavaScript 字串 startsWith

當我們想要確保字串是否以特定字串開頭時,在編碼時會有一些情況。

例如,我想檢查給定的字串是否以 Me 字串開頭。

今天,我們將學習如何使用 startsWith()indexOf()lastIndexOf()substring() 函式以及正規表示式的 test() 方法來檢查字串是否以特定字串開頭和一個帶迴圈的自定義函式。

在 JavaScript 中使用字串 startsWith() 方法

ECMAScript 2015(也稱為 ES6)引入了 startsWith() 方法,該方法檢查字串是否以指定字串開頭。如果找到匹配,則輸出 true;否則,

startsWith() 方法有兩個引數:searchString,第二個是 position,它是可選的,預設為零。如果指定了位置,則函式從該位置搜尋字串。

在下面的例子中,我們沒有指定 position。因此,它從索引零開始區分大小寫搜尋。

var name = 'Hi John, how are you doing?'
console.log(name.startsWith('Hi John'));

輸出:

true

示例程式碼:

var name = 'Hi John, how are you doing?'
console.log(name.startsWith('Hi john'));

輸出:

false

示例程式碼:

var name = 'Hi John, how are you doing?'
console.log(name.startsWith(
    'how', 9));  // it starts searching and matching from index 9

輸出:

true

在 JavaScript 中使用 indexOf() 函式來檢查字串是否以另一個字串開頭

indexOf() 與陣列一起使用來定位元素並返回找到它的第一個索引,但我們也可以通過以下方式使用字串。

如果匹配元素的索引為零,則表示字串以指定字串開頭。

示例程式碼:

var name = 'Hi John, how are you doing?'
if (name.indexOf('Hi') === 0)
console.log(true);
else console.log(false);

輸出:

true

它還區分大小寫搜尋。看看下面的示例程式碼。

var name = 'Hi John, how are you doing?'
if (name.indexOf('hi') === 0)
console.log(true);
else console.log(false);

輸出:

false

如果我們想讓 indexOf() 從指定位置定位元素怎麼辦?

var name = 'Hi John, how are you doing?'
if (name.indexOf('how') === 9)
console.log(true);
else console.log(false);

輸出:

true

在 JavaScript 中使用 lastIndexOf() 函式檢查字串是否以另一個字串開頭

此函式返回字串中特定值的最後一次出現的位置/索引。

它從末尾開始搜尋並移向字串的開頭。如果值不存在,則返回 -1

我們可以稍微修改一下,通過下面的方式使用 lastIndexOf() 方法來檢視字串是否以另一個字串開頭。

示例程式碼:

var name = 'Hi John, how are you doing?'
if (name.lastIndexOf('Hi', 0) === 0)
console.log(true);
else console.log(false);

輸出:

true

雖然,它從頭開始搜尋。但是我們在索引 0 處指定它的結尾。

請記住,對於此功能,hiHi 是不同的。

你可以這裡詳細瞭解它。

在 JavaScript 中使用 substring() 函式檢查字串是否以另一個字串開頭

除了指定另一個字串來檢查字串是否以它開頭,我們還可以根據字串的長度輸入索引範圍。

例如,我們要檢查字串是否以 Hi 開頭,因此索引如下。

var name = 'Hi John, how are you doing?'
// here the end index is not included means the end index
// would be endIndex-1
console.log(name.substring(0, 2));

輸出:

Hi

如果我們尋找 Hi John,我們可以修改它,如下所示。

var name = 'Hi John, how are you doing?'
console.log(name.substring(0, 7));

輸出:

Hi John

如果你要在中間某處尋找特定的字串部分,則使用此函式不是一個好的選擇。原因是你可能在給定索引上找不到預期的字串。

使用 Regex 的 test() 方法檢查字串是否以 JavaScript 中的另一個字串開頭

var name = 'Hi John, how are you doing?'
console.log(/^Hi John/.test(name));

輸出:

true

它也區分大小寫。請參閱以下示例。

var name = 'Hi John, how are you doing?'
console.log(/^Hi john/.test(name));

輸出:

false

你還可以使用具有不同引數和屬性的 RegExp 物件的方法。你可以在此處詳細瞭解它。

你是否考慮過使用自定義函式來完成此功能?讓我們看一下以下部分。

在 JavaScript 中使用帶有迴圈的自定義函式來檢查字串是否以另一個字串開頭

示例程式碼:

function startsWithFunction(completeString, starterStr) {
  for (var i = 0; i < starterStr.length; i++) {
    if (completeString[i] !== starterStr[i]) {
      return false;
    }
  }
  return true;
}
console.log(startsWithFunction('Hi John, how are you doing?', 'Hi'));

輸出:

true

startsWithFunction() 採用主字串 Hi John, how are you doing? 和另一個字串 Hi,以檢查主字串是否以它開頭。

此函式匹配每個字元並在成功時返回 true;否則返回 false

作者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相關文章 - JavaScript String