js 判斷字符串中是否包含某個(gè)字符串的實(shí)現(xiàn)代碼
indexOf方法
根據(jù)國(guó)外大神的測(cè)試結(jié)果顯示,indexOf在速度上可能是最快的,因此推薦大家在日常中還是經(jīng)常使用indexOf這個(gè)方法。
ES5或者更老版本
String.prototype.indexOf方法用來(lái)返回一個(gè)字符串在另一個(gè)字符串中的位置,如果沒(méi)找到那就返回 -1 。
代碼如下:
var string = "foo",
substring = "oo";
string.indexOf(substring) !== -1;//true如果大量使用可以定義一個(gè)函數(shù),方便調(diào)用
function instr(str, find) {
if (str.indexOf(find) != -1) {
return 1;
} else {
return 0;
}
}string.lastIndexOf()
和indexOf()的區(qū)別,從字符串的尾部開(kāi)始查找
返回值:匹配成功的第一個(gè)字符的下標(biāo),未匹配則返回-1
用法:string.indexOf(searchValue, start)
let searchVal = 'yyds'
let searchResult = searchVal.lastIndexOf('y')
console.log(searchResult) // 1
ES6 includes 方法
返回值:Boolean
用法: string.includes(searchValue, start) 第二個(gè)參數(shù)從是指定下標(biāo)開(kāi)始查找
兼容補(bǔ)丁(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;
}
};
}示例
var str = 'To be, or not to be, that is the question.';
console.log(str.includes('To be')); // true
console.log(str.includes('question')); // true
console.log(str.includes('nonexistent')); // false
console.log(str.includes('To be', 1)); // false
console.log(str.includes('TO BE')); // false當(dāng)包含時(shí)返回true,不包含時(shí)返回false,代碼實(shí)例如下:
var string = "foo";
var substring1 = "oo";
var substring2 = "oq";
string.includes(substring1); //true
string.includes(substring2); //false let searchVal = 'yyds'
let searchResult = searchVal.includes('y', 1)
console.log(searchResult) // true
string.search()
定義和用法
search() 方法將字符串與正則表達(dá)式匹配。
注釋:如果搜索值為字符串,則轉(zhuǎn)換為正則表達(dá)式。
search() 方法返回第一個(gè)匹配項(xiàng)的索引(位置)。
如果未找到匹配項(xiàng),則 search() 方法返回 -1。
提示:search() 方法區(qū)分大小寫(xiě)。
返回值:匹配成功的第一個(gè)字符的下標(biāo),未匹配則返回-1
用法:string.search(searchValue)
search方法與indexOf類(lèi)似,用來(lái)返回一個(gè)字符串在另一個(gè)字符串中的位置,如果沒(méi)找到那就返回-1,。
唯一需要注意的是,search方法的參數(shù)是一個(gè)正則表達(dá)式。
代碼如下:
var string = "foo",
expr = /oo/;
string.search(expr);// 返回1 let searchVal = 'yyds'
let searchResult = searchVal.search('y')
console.log(searchResult) // 0
不區(qū)分大小寫(xiě)的搜索
let text = "Mr. Blue has a blue house"; let position = text.search(/blue/i);
lodash includes方法
使用Javascript工具庫(kù)lodash的includes方法,該方法返回一個(gè)布爾值,代碼如下:
_.includes('foobar', 'ob');
// → trueRegExp正則表達(dá)式
使用正則表達(dá)式的match來(lái)判斷是否包含,代碼如下:
var string = "foo",
expr = /oo/; // no quotes here
expr.test(string);//trueMatch方法
使用match的方法,該方法字符串不匹配的話就返回null,代碼如下:
var string = "foo",
expr = /oo/,
expr2 = /oa/;
string.match(expr);//["oo", index: 1, input: "foo", groups: undefined]
string.match(expr2);//null到此這篇關(guān)于js 判斷字符串中是否包含某個(gè)字符串的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)字符串中是否包含某個(gè)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS中判斷某個(gè)字符串是否包含另一個(gè)字符串的五種方法
- js判斷一個(gè)字符串是否包含一個(gè)子串的方法
- JS獲取字符串實(shí)際長(zhǎng)度(包含漢字)的簡(jiǎn)單方法
- javascript 判斷字符串是否包含某字符串及indexOf使用示例
- js判斷數(shù)組是否包含某個(gè)字符串變量的實(shí)例
- 用javascript實(shí)現(xiàn)截取字符串包含中文處理的函數(shù)
- JS判斷字符串包含的方法
- js計(jì)算字符串長(zhǎng)度包含的中文是utf8格式
- JS實(shí)現(xiàn)快速比較兩個(gè)字符串中包含有相同數(shù)字的方法
- JS不用正則驗(yàn)證輸入的字符串是否為空(包含空格)的實(shí)現(xiàn)代碼
- JavaScript判斷一個(gè)字符串是否包含指定子字符串的方法
- JS中append字符串包含onclick無(wú)效傳遞參數(shù)失敗的解決方案
- JS給Array添加是否包含字符串的簡(jiǎn)單方法
- js處理包含中文的字符串實(shí)例
- javascript自動(dòng)生成包含數(shù)字與字符的隨機(jī)字符串
- JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)
- JavaScript面試中??嫉淖址僮鞣椒ù笕?包含ES6)
- JavaScript字符串包含問(wèn)題
相關(guān)文章
JavaScript樹(shù)形結(jié)構(gòu)數(shù)組處理之遞歸問(wèn)題
這篇文章主要介紹了JavaScript樹(shù)形結(jié)構(gòu)數(shù)組處理之遞歸問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
改變文件域的樣式實(shí)現(xiàn)思路同時(shí)兼容ie、firefox
正如標(biāo)題所言只是模擬了file文件域的外觀,其實(shí)起作用的還是文件域file,這樣就很方便,感興趣的朋友可以了解下2013-10-10
詳解基于javascript實(shí)現(xiàn)的蘋(píng)果系統(tǒng)底部菜單
本篇文章主要對(duì)基于javascript實(shí)現(xiàn)的蘋(píng)果系統(tǒng)底部菜單進(jìn)行了詳細(xì)的分析說(shuō)明,有助于理解和學(xué)習(xí)編寫(xiě)蘋(píng)果系統(tǒng)底部菜單,相信會(huì)對(duì)大家有所幫助,下面就跟小編一起來(lái)看看吧2016-12-12
layui: layer.open加載窗體時(shí)出現(xiàn)遮罩層的解決方法
今天小編就為大家分享一篇layui: layer.open加載窗體時(shí)出現(xiàn)遮罩層的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
Bootstrap柵格系統(tǒng)使用方法及頁(yè)面調(diào)整變形的解決方法
這篇文章主要介紹了Bootstrap柵格系統(tǒng)使用方法及頁(yè)面調(diào)整變形的解決方法,需要的朋友可以參考下2017-03-03
JS 分號(hào)引起的一段調(diào)試問(wèn)題
看看執(zhí)行后有什么效果,無(wú)論textbox1.text是什么值,都會(huì)時(shí)放條件判斷.為什么呢2009-06-06
JavaScript Cookie 直接瀏覽網(wǎng)站分網(wǎng)址
2009-12-12
使用重寫(xiě)url機(jī)制實(shí)現(xiàn)驗(yàn)證碼換一張功能
重寫(xiě)URL機(jī)制:為了保證一個(gè)url的地址唯一,可每次向服務(wù)器傳遞的參數(shù)不一樣即可。此處在實(shí)現(xiàn)驗(yàn)證碼的換一張的功能時(shí),就是利用了改變參數(shù)列表的值進(jìn)行刷新。具體詳細(xì)代碼大家參考下本文2017-08-08
JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法示例
這篇文章主要介紹了JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了鏈表的原理及javascript定義與使用鏈表的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01

