JavaScript 字串indexOf()

admin發表於2018-08-29

此方法可以檢索指定字元或者子字串在源字串中首次出現的位置。

字串與陣列類似,字元位置是從0開始計算的。

如果沒有在源字串中檢索到指定字元或者子字串,則返回-1。

特別說明:此方法對大小寫敏感。

更多字串相關內容參閱JavaScript String 字串一章節。

陣列具有同名方法,具體參閱JavaScript 陣列 indexOf()一章節。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
str.indexOf(substring [,start])

引數解析:

(1).substring:必需,要檢索的字元或者子字串。

(2).start:可選,規定開始檢索的位置,如果此引數省略,將從起始位置開始檢索。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.indexOf("n"));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/013501gvvobqbxvzvww5iv.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述程式碼查詢字元"n"在源字串的索引位置(1)。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.indexOf("tz"));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/013538r4yb78b007i7j7y7.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

查詢子字串在源字串中首次出現的位置,以子字串首字元出現的位置為準。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.indexOf("a",2));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/013621vwdqzw64qmmw6d6s.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

返回值為-1,說明在字串"antzone"中沒有檢索到字元"a"。

這是因為方法的第二個引數規定了檢索開始的位置,由於從索引位置2開始檢索,也就是從字元"t"處從左向右檢索,很明顯後面沒有字元"a"的出現。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.indexOf("A"));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/013656of66yffy6yiy7895.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

返回值為-1,沒有在源字串中檢索到字元"A",因為此方法對字元大小寫是敏感的。

相關文章