判斷方法:1、利用includes(),語(yǔ)法“str.includes(searchString[, position])”;2、利用indexOf(),語(yǔ)法“str.indexOf(substring)”,如果返回“-1”則沒(méi)有;3、利用test()、match()或search()配合正則表達(dá)式查找,語(yǔ)法“exp.test(str)”、“str.match(exp)”。

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
es6判斷字符串是否包含子字符串的方法
方法1:利用includes()函數(shù)
ES6的字符串新增了includes方法,我們可以用它來(lái)判斷是否包含子字符串。
str.includes(searchString[, position])
-
searchString:查詢的子字符串
-
position:可選,開(kāi)始搜索的位置,默認(rèn)為0
'Blue Whale'.includes('Blue'); // returns true 'Blue Whale'.includes('blue'); // returns false
需要注意的是,includes方法是會(huì)區(qū)分大小寫。
對(duì)于不支持es6的瀏覽器,可以添加es6-shim,如:
require('es6-shim')
方法2:利用indexOf()函數(shù)
indexOf是我們比較常用到判斷是否包含子字符串的方法。如果包含子字符串,返回子字符串的索引,否則返回-1。
var string = "foo", substring = "oo"; if(string.indexOf(substring) == -1) { console.log("不包含子字符串") } else { console.log("包含子字符串") }
方法3:利用正則表達(dá)式
使用正則表達(dá)式有三種方式:test,match,search
1、test
var string = "foo", exp = /oo/; var result = exp.test(string);
test返回的是一個(gè)布爾值。存在返回true,否則返回false。
注意test函數(shù)調(diào)用者是正則表達(dá)式。
2、match
var string = "foo", exp = /oo/; var result = string.match(exp); console.log(result);
輸出結(jié)果:
["oo", index: 1, input: "foo"]
調(diào)用者是字符串,如果匹配到返回一個(gè)數(shù)組,包含了匹配到的內(nèi)容:正則表達(dá)式,index和input。
3、search
var string = "foo", exp = /oo/; var result = string.search(exp);
返回的是搜索到的子字符串的索引,搜索不到返回-1
【
站長(zhǎng)資訊網(wǎng)