您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“js如何判斷字符串中是否包含某個字符串”,內容詳細,步驟清晰,細節處理妥當,希望這篇“js如何判斷字符串中是否包含某個字符串”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
根據國外大神的測試結果顯示,indexOf在速度上可能是最快的,因此推薦大家在日常中還是經常使用indexOf這個方法。
ES5或者更老版本
String.prototype.indexOf方法用來返回一個字符串在另一個字符串中的位置,如果沒找到那就返回 -1 。
代碼如下:
var string = "foo", substring = "oo"; string.indexOf(substring) !== -1;//true
如果大量使用可以定義一個函數,方便調用
function instr(str, find) { if (str.indexOf(find) != -1) { return 1; } else { return 0; } }
和indexOf()的區別,從字符串的尾部開始查找
返回值:匹配成功的第一個字符的下標,未匹配則返回-1
用法:string.indexOf(searchValue, start)
let searchVal = 'yyds' let searchResult = searchVal.lastIndexOf('y') console.log(searchResult) // 1
返回值:Boolean
用法: string.includes(searchValue, start) 第二個參數從是指定下標開始查找
兼容補丁(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
當包含時返回true,不包含時返回false,代碼實例如下:
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
定義和用法
search() 方法將字符串與正則表達式匹配。
注釋:如果搜索值為字符串,則轉換為正則表達式。
search() 方法返回第一個匹配項的索引(位置)。
如果未找到匹配項,則 search() 方法返回 -1。
提示:search() 方法區分大小寫。
返回值:匹配成功的第一個字符的下標,未匹配則返回-1
用法:string.search(searchValue)
search方法與indexOf類似,用來返回一個字符串在另一個字符串中的位置,如果沒找到那就返回-1,。
唯一需要注意的是,search方法的參數是一個正則表達式。
代碼如下:
var string = "foo", expr = /oo/; string.search(expr);// 返回1
let searchVal = 'yyds' let searchResult = searchVal.search('y') console.log(searchResult) // 0
不區分大小寫的搜索
let text = "Mr. Blue has a blue house"; let position = text.search(/blue/i);
使用Javascript工具庫lodash的includes方法,該方法返回一個布爾值,代碼如下:
_.includes('foobar', 'ob'); // → true
使用正則表達式的match來判斷是否包含,代碼如下:
var string = "foo", expr = /oo/; // no quotes here expr.test(string);//true
Match方法
使用match的方法,該方法字符串不匹配的話就返回null,代碼如下:
var string = "foo", expr = /oo/, expr2 = /oa/; string.match(expr);//["oo", index: 1, input: "foo", groups: undefined] string.match(expr2);//null
讀到這里,這篇“js如何判斷字符串中是否包含某個字符串”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。