最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript字符串包含問題

 更新時(shí)間:2022年11月30日 10:39:16   作者:allway2  
這篇文章主要介紹了JavaScript字符串包含問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

在任何編程語言中,檢查字符串是否包含子字符串都是常見的任務(wù)。

例如,假設(shè)您正在構(gòu)建在線游戲。

您可能需要檢查用戶名是否包含禁止使用的短語,以確保所有用戶名都適合您的游戲。

JavaScript字符串包含

有三種方法可檢查JavaScript字符串是否包含另一個(gè)字符或字符序列:

  • includes()
  • indexOf()
  • 正則表達(dá)式(regex)

在本教程中,我們將討論可以使用這三種方法來檢查JavaScript字符串是否包含另一個(gè)字符串的方法。

includes() 

ES6中引入的JavaScript include()方法確定字符串是否包含您傳遞給該方法的字符。如果字符串包含某些字符,則該方法將返回“ true”。

如果指定的字符串不包含您要查找的字符,則includes()將返回“ false”。

includes()方法的語法為:

string.includes(word);

值“字符串”是指我們將搜索的字符。“單詞”是指我們要查找的字符。

這是一個(gè)實(shí)際使用includes()方法的示例:

let example = "Example String!";
let ourSubstring = "Example";
?
if (example.includes(ourSubstring)) {
? ? console.log("The word Example is in the string.");
} else {
? ? console.log("The word Example is not in the string.");
}

我們的代碼返回:字符串中包含示例字。

在前兩行,我們聲明了兩個(gè)JavaScript變量。第一個(gè)變量是我們要搜索的字符串。第二個(gè)是我們要在原始字符串中找到的子字符串。換句話說,我們將搜索第一個(gè)變量是否包含第二個(gè)變量的內(nèi)容。

接下來,我們使用if語句評(píng)估“ example”變量是否包含“ ourSubstring”變量的內(nèi)容。

如果“示例”中包含“示例”一詞,則我們的陳述為“真”。這意味著將運(yùn)行“ if”語句主體中的console.log()語句。否則,將運(yùn)行我們的“ else”語句。

  • includes()區(qū)分大小寫,因此,如果我們更改子字符串的大小寫,將返回“ false”。
  • includes()第二個(gè)參數(shù)
  • includes()方法使您可以指定第二個(gè)參數(shù)。第二個(gè)參數(shù)是索引號(hào),includes()應(yīng)該從該索引號(hào)開始搜索您的子字符串。第一個(gè)字符的索引為“ 0”,第二個(gè)字符的索引為“ 1”,依此類推。這是因?yàn)榱斜韽牧汩_始索引。

讓我們檢查一下單詞“ Example”是否出現(xiàn)在字符串的索引位置7之后:

let example = "Example String!";
let ourSubstring = "Example";
?
if (example.includes(ourSubstring, 7)) {
? ? console.log("The word Example is in the string.");
} else {
? ? console.log("The word Example is not in the string");
}?

includes()方法返回字符串開始的索引位置。我們的代碼返回“示例單詞不在字符串中。” 盡管我們的字符串中確實(shí)包含單詞“ Example”,但該單詞出現(xiàn)在索引值“ 7”之前,該值是“ Example”和“ String!”之間的空格。

indexOf()

像include()一樣,JavaScript indexOf()方法檢查一個(gè)字符串是否包含另一個(gè)字符串。這兩個(gè)函數(shù)的輸出不同。

當(dāng)我們使用include()方法時(shí),該方法返回一個(gè)布爾值:true或false。indexOf()返回子字符串的起始索引位置?;蛘?,如果字符串不包含子字符串,我們將得到“ -1”。

讓我們看一下該方法的語法:

string.indexOf(word);

就像在我們的include()示例中一樣,“字符串”指的是我們通過其搜索的值。“單詞”是我們要搜索的短語或字符。

這是JavaScript中indexOf()的示例:

let example = "Example String!";
let ourSubstring = "Example";
?
if (example.indexOf(ourSubstring) != -1) {
? ? console.log("The word Example is in the string.");
} else {
? ? console.log("The word Example is not in the string.");
}?

我們的代碼返回:字符串中包含示例字。就像在上一個(gè)示例中一樣,我們使用了“ if”語句。根據(jù)我們的字符串是否包含子字符串,此語句向控制臺(tái)顯示一條特定消息。

我們檢查indexOf()方法是否不返回-1。如果是這樣,則運(yùn)行“ else”語句。-1表示找不到我們的字符串。否則,將執(zhí)行“ if”語句中的代碼。

像include()方法一樣,indexOf()區(qū)分大小寫。如果我們希望搜索從某個(gè)索引值開始,則可以使用另一個(gè)參數(shù):

let example = "Example String!";
let ourSubstring = "Example";
?
if (example.indexOf(ourSubstring, 7) != -1) {
? ? console.log("The word Example is in the string.");
} else {
? ? console.log("The word Example is not in the string.");
}?

由于找不到從索引值7開始的完全匹配,因此我們的代碼返回-1。

正則表達(dá)式

我們還可以利用JavaScript正則表達(dá)式(或regex)來檢查字符串是否包含子字符串。正則表達(dá)式由于其靈活性而非常有用:您可以對(duì)搜索內(nèi)容和位置進(jìn)行大量控制。

我們可以使用RegExp.test()方法檢查字符串是否包含子字符串。

這是一個(gè)例子:

let str = "Example String!";?
/Example/.test(str);

我們的代碼返回true。這是因?yàn)?ldquo; JavaScript”在我們的“示例”字符串中。

正則表達(dá)式功能強(qiáng)大。正則表達(dá)式的缺點(diǎn)是運(yùn)行速度會(huì)變慢,具體取決于您使用的規(guī)則。添加到正則表達(dá)式規(guī)則中的語句越多,搜索所需的時(shí)間就越長。

如果您執(zhí)行的是簡單搜索并且不需要高級(jí)字符串函數(shù),則使用include()或indexOf()可能是一種更好的方法。不建議RegExp.test()方法用于尚未了解Regex的初學(xué)者。

如果您想了解有關(guān)正則表達(dá)式的更多信息并測試正則表達(dá)式,請(qǐng)查看RegExr。

結(jié)論

在本教程中,我們討論了JavaScript中字符串的基礎(chǔ)。之后,我們討論了三種檢查字符串是否包含JavaScript中的子字符串的方法:使用include(),indexOf()和regex。

include()方法可以說是檢查字符串是否包含子字符串的最常用方法。這是因?yàn)榉椒ǖ拿Q是文字。顯然include()允許您在另一個(gè)字符串中搜索一個(gè)字符串。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • tsconfig.json配置詳解

    tsconfig.json配置詳解

    這篇文章主要介紹了tsconfig.json配置詳解,tsconfig.json文件中指定了用來編譯這個(gè)項(xiàng)目的根文件和編譯選項(xiàng),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • BootStrap 動(dòng)態(tài)添加驗(yàn)證項(xiàng)和取消驗(yàn)證項(xiàng)的實(shí)現(xiàn)方法

    BootStrap 動(dòng)態(tài)添加驗(yàn)證項(xiàng)和取消驗(yàn)證項(xiàng)的實(shí)現(xiàn)方法

    這篇文章主要介紹了BootStrap 動(dòng)態(tài)添加驗(yàn)證項(xiàng)和取消驗(yàn)證項(xiàng)的實(shí)現(xiàn)方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • JS復(fù)制對(duì)應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果)

    JS復(fù)制對(duì)應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果)

    這篇文章主要給大家介紹了利用JS實(shí)現(xiàn)復(fù)制指定對(duì)應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果),文中給出了詳細(xì)的介紹和示例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 詳細(xì)聊聊瀏覽器是如何看閉包的

    詳細(xì)聊聊瀏覽器是如何看閉包的

    閉包實(shí)質(zhì)上是函數(shù)作用域的副產(chǎn)物,下面這篇文章主要給大家介紹了關(guān)于瀏覽器是如何看閉包的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • 如何確保JavaScript的執(zhí)行順序 之實(shí)戰(zhàn)篇

    如何確保JavaScript的執(zhí)行順序 之實(shí)戰(zhàn)篇

    我曾在文章《如何在多個(gè)頁面使用同一個(gè)HTML片段 - 續(xù)》的最后提到JavaScript順序執(zhí)行的特性。雖然現(xiàn)代瀏覽器可以并行的下載JavaScript(部分瀏覽器),但考慮到JavaScript的依賴關(guān)系,他們的執(zhí)行依然是按照引入順序進(jìn)行的。
    2011-03-03
  • uniapp添加操作日志的方法(uniapp、日志、文件、html5+)

    uniapp添加操作日志的方法(uniapp、日志、文件、html5+)

    近期一直在寫微信小程序,有一個(gè)問題一直沒有解決,就是在測試環(huán)境中調(diào)試代碼會(huì)打印很多日志,方便看到問題所在,這篇文章主要給大家介紹了關(guān)于uniapp添加操作日志(uniapp、日志、文件、html5+)的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • js完整倒計(jì)時(shí)代碼分享

    js完整倒計(jì)時(shí)代碼分享

    這篇文章主要為大家詳細(xì)介紹了js完整倒計(jì)時(shí)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Javascript新手入門之字符串拼接與變量的應(yīng)用

    Javascript新手入門之字符串拼接與變量的應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Javascript新手入門之字符串拼接與變量應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Bootstrap學(xué)習(xí)筆記之css樣式設(shè)計(jì)(2)

    Bootstrap學(xué)習(xí)筆記之css樣式設(shè)計(jì)(2)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap學(xué)習(xí)筆記之css樣式設(shè)計(jì),感興趣的小伙伴們可以參考一下
    2016-06-06
  • 從階乘函數(shù)對(duì)比Javascript和C#的異同

    從階乘函數(shù)對(duì)比Javascript和C#的異同

    今天學(xué)習(xí)Javascript函數(shù),發(fā)現(xiàn)這完全是一個(gè)神奇的東西。跟我們平常所見強(qiáng)類型語言中的函數(shù)有好多不同。下面我們就從C#和JavaScript的兩個(gè)計(jì)算階乘的函數(shù)中比較兩者的異同
    2012-05-05

最新評(píng)論

汝南县| 驻马店市| 搜索| 大埔县| 花莲县| 临海市| 海兴县| 靖安县| 松潘县| 黄陵县| 阿勒泰市| 赣州市| 彭山县| 周至县| 大兴区| 沂水县| 竹溪县| 黑河市| 新沂市| 濮阳市| 屏南县| 乌海市| 乌审旗| 新郑市| 金乡县| 桐城市| 茌平县| 宜州市| 涿州市| 开鲁县| 公主岭市| 康乐县| 福州市| 衢州市| 灌云县| 贡山| 颍上县| 玛沁县| 望都县| 松桃| 陆川县|