国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js判斷一個字符串是否包含一個子串的方法

2019-11-20 13:19:22
字體:
來源:轉載
供稿:網友

本文實例講述了js判斷一個字符串是否包含一個子串的方法。分享給大家供大家參考。具體如下:

在我們前端日常開發中,經常會遇到判斷一個字符串中是否包含某個子串,這里我們將去探究一些解決此種需求的方法以及正確的使用它們。理想情況下,我們要找的是一個能匹配我們的目的(if x contains y)的方法,并返回true或false。

一、String.prototype.indexOf和String.prototype.lastIndexOf

這兩個方法,可能是我們最容易想到的,如果包含子串,則返回大于等于0的索引,否則返回-1,沒有達到我們的理想情況。

復制代碼 代碼如下:
var str    = "My blog name is Benjamin-專注前端開發和用戶體驗",
    substr = "Benjamin";
 
function isContains(str, substr) {
    return str.indexOf(substr) >= 0;
}
 
//true
console.log(isContains(str, substr));

二、String.prototype.search

我們想到了String.prototype.search方法,因search方法的參數是一個正則表達式,所以和indexOf的情況相同。

復制代碼 代碼如下:
var str    = "My blog name is Benjamin-專注前端開發和用戶體驗",
    substr = "Benjamin";
 
function isContains(str, substr) {
    return new RegExp(substr).test(str);
}
 
//true
console.log(isContains(str, substr));

這個方法比indexOf方法看起來好點,該方法直接返回true or false,同時方法名稱test比indexOf更有語義性。

三、String.prototype.contains

復制代碼 代碼如下:
var str    = "My blog name is Benjamin-專注前端開發和用戶體驗",
    substr = "Benjamin";
 
function isContains(str, substr) {
    return str.contains(substr);
}
 
//true
console.log(isContains(str, substr));

此方法目前只有Firefox支持,還處于ECMAScript 6草案中。這個方法滿足了上面提到的理想情況。詳情請點擊這里。如果你想使用contains方法,可以參考第三方庫string.js,點擊此處本站下載string.js。源碼實現:
復制代碼 代碼如下:
contains: function(ss) {
  return this.s.indexOf(ss) >= 0;
},

其它方法待補充。。。

當然在性能問題上,使用哪種方法更快,還有待測試。感興趣的朋友不妨親自動手測試一下。

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛坪县| 杭锦旗| 嘉兴市| 嘉定区| 全椒县| 洛宁县| 汉源县| 四平市| 成都市| 霍林郭勒市| 鄂伦春自治旗| 甘肃省| 济阳县| 葵青区| 射阳县| 明光市| 富阳市| 体育| 大荔县| 辰溪县| 徐闻县| 大石桥市| 延吉市| 顺义区| 凤冈县| 澳门| 双桥区| 西和县| 莱阳市| 三明市| 五常市| 临汾市| 鸡西市| 临潭县| 安化县| 祁东县| 福贡县| 万荣县| 来宾市| 翁源县| 银川市|