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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

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

2024-05-06 16:15:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了js判斷一個(gè)字符串是否包含一個(gè)子串的方法,實(shí)例分析了判斷的技巧與第三方腳本的使用方法,需要的朋友可以參考下
 

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

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

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

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

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

二、String.prototype.search

 

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

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

 

這個(gè)方法比indexOf方法看起來(lái)好點(diǎn),該方法直接返回true or false,同時(shí)方法名稱(chēng)test比indexOf更有語(yǔ)義性。

三、String.prototype.contains

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

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

其它方法待補(bǔ)充。。。

 

當(dāng)然在性能問(wèn)題上,使用哪種方法更快,還有待測(cè)試。感興趣的朋友不妨親自動(dòng)手測(cè)試一下。

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 大城县| 竹溪县| 西峡县| 巴马| 枣强县| 昌乐县| 长海县| 三河市| 抚远县| 台前县| 青阳县| 河池市| 简阳市| 芷江| 礼泉县| 凤翔县| 丰宁| 嘉黎县| 凤台县| 景宁| 绍兴县| 吉木乃县| 丘北县| 云林县| 淮北市| 南京市| 天全县| 达州市| 渭南市| 岳阳县| 双流县| 福泉市| 铜梁县| 梁山县| 无为县| 赫章县| 乌苏市| 德化县| 厦门市| 颍上县| 江口县|