国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 洞头县| 靖安县| 钟祥市| 乌恰县| 龙口市| 绵竹市| 临夏县| 谢通门县| 获嘉县| 寿阳县| 田林县| 五家渠市| 星子县| 临清市| 获嘉县| 无锡市| 鄱阳县| 庐江县| 宁城县| 南开区| 平昌县| 安远县| 维西| 海淀区| 北海市| 三原县| 奉贤区| 绥阳县| 皮山县| 利辛县| 永丰县| 临泉县| 胶南市| 梓潼县| 胶南市| 滦南县| 白山市| 临桂县| 鄂伦春自治旗| 赣州市| 广宁县|