欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS常用的4種截取字符串方法

 更新時(shí)間:2023年02月04日 15:22:04   作者:不一是為丕  
在做項(xiàng)目的時(shí)候,經(jīng)常會(huì)需要截取字符串,所以常用的方法有slice()、substr()、substring()、match()方法等,下面通過(guò)示例代碼介紹四個(gè)方法的使用,感興趣的朋友跟隨小編一起看看吧

JS常用的4種截取字符串方法

平常經(jīng)常把這幾個(gè)api的參數(shù)記混了,于是打算記錄下來(lái),當(dāng)不確定的時(shí)候在拿出來(lái)翻翻;

在做項(xiàng)目的時(shí)候,經(jīng)常會(huì)需要截取字符串,所以常用的方法有slice()、substr()、substring()、match()方法等,四個(gè)方法的使用如下所示;

<script type="text/javascript">
        // 截取字符串的方法
        //注意1、字符串的截取都是從左向右,不會(huì)有從右向左截??;2、slice與substring方法,截取返回的字符串包含numStart而不包含numEnd;3、注意slice方法當(dāng)numStart大于numEnd時(shí)截取為空而substring當(dāng)numStart大于numEnd時(shí)回調(diào)換二者位置,截取numEnd到numStart之間的字符串
        var str = "HellohappyworldHello!";
        //1.slice(numStart,numEnd)  返回的值為截取指定下標(biāo)之間的字符串,參數(shù)可以為負(fù)數(shù),可以不填,正整數(shù)表示從左向右讀取小兵截取,負(fù)整數(shù)表示從右向左讀取下標(biāo)截取,當(dāng)?shù)谝粋€(gè)開(kāi)始下標(biāo)參數(shù)為負(fù)整數(shù)時(shí),第二個(gè)參數(shù)不需要了,如果寫(xiě)上不管是正整數(shù)還是負(fù)整數(shù)都截取為空的字符串,總結(jié)如下,不填參數(shù)時(shí),截取取的是原字符串,第一個(gè)參數(shù)為正整數(shù)時(shí),第二個(gè)參數(shù),可不填(即為到字符串結(jié)尾),可填正整數(shù)(即從start-end),可以為負(fù)整數(shù)(即start-(str.length+end)),第一個(gè)參數(shù)為負(fù)整數(shù)時(shí)(即從右向左讀取下標(biāo)截取,右是從-1開(kāi)始),第二個(gè)參數(shù)寫(xiě)上會(huì)截取為空,最后注意第二個(gè)參數(shù)都不能大于第一個(gè)參數(shù),可以與坐標(biāo)軸類(lèi)比
        var sliceStr1 = str.slice(2);  //llohappyworldHello!
        var sliceStr2 = str.slice(2,7); //lloha
        var sliceStr3 = str.slice(-2); //o!
        var sliceStr4 = str.slice(-2,5); //""
        var sliceStr5 = str.slice(-2,-5); //""
        var sliceStr6 = str.slice(2,-5); //llohappyworldH
        console.log(sliceStr1);
        console.log(sliceStr2);
        console.log(sliceStr3);
        console.log(sliceStr4);
        console.log(sliceStr5);
        console.log(sliceStr6);

        //2.substr(numStart,length) 返回的是從指定位置截取,length長(zhǎng)度的字符串,numStart必填,為正整數(shù)時(shí),表示從左向右讀取下標(biāo)截取,當(dāng)為負(fù)整數(shù)時(shí),表示從右至左讀取下標(biāo)截取,第二個(gè)參數(shù)表示需要截取字符串的長(zhǎng)度,當(dāng)為負(fù)整數(shù)時(shí),返回的為空,整數(shù)數(shù)時(shí)表示截取的長(zhǎng)度,當(dāng)超過(guò)字符串的剩余長(zhǎng)度時(shí),到字符串末尾為止
        var substrStr1 = str.substr(2); //llohappyworldHello!
        var substrStr2 = str.substr(-2); //o!
        var substrStr3 = str.substr(2,18); //llohappyworldHello
        var substrStr4 = str.substr(-2,1); //o
        var substrStr5 = str.substr(-2,-1); //""
        console.log(substrStr1);
        console.log(substrStr2);
        console.log(substrStr3);
        console.log(substrStr4);
        console.log(substrStr5);

        //3、substring(numStart,numEnd) 與slice類(lèi)似,但是第一個(gè)參數(shù)為負(fù)整數(shù)時(shí),截取的為整個(gè)字符串
        var substringStr1 = str.substring(2); //llohappyworldHello!
        var substringStr2 = str.substring(-2);//HellohappyworldHello!
        var substringStr3 = str.substring(7,2); //lloha
        var substringStr4 = str.substring(2,7); //lloha
        console.log(substringStr1);
        console.log(substringStr2);
        console.log(substringStr3);
        console.log(substringStr4);

        //4、match方法 注意1、match方法返回的是一個(gè)含有匹配項(xiàng)字符串的數(shù)組;2、需要根據(jù)不同的情況來(lái)寫(xiě)正則;3、返回的數(shù)組里面第一個(gè)總是原來(lái)的字符串;4、當(dāng)正則表示式有子表示時(shí)(即(\S*)括號(hào)內(nèi)的內(nèi)容),且為全局匹配時(shí)只查找全匹配正則表達(dá)式并返回所有內(nèi)容,為非全局時(shí),返回的是多個(gè)元素?cái)?shù)組;當(dāng)正則表達(dá)式無(wú)子表達(dá)式時(shí),且為全局匹配時(shí),返回的是多個(gè)元素的數(shù)組,如果為非全局匹配時(shí),返回的是匹配到第一個(gè)元素的數(shù)組
        var regStr1 = str.match(/Hello/g);  //["Hello","Hello"]
        var regStr9 = str.match(/Hello/);  //["Hello"]
        var regStr2 = str.match(/hello/g); //null
        var regStr3 = str.match(/Hello(\S*)world/); //["Hellohappyworld", "happy"] //截取中間字符串
        var regStr4 = str.match(/(\S*)world/g); //["Hellohappyworld"] //截取指定字符之前的字符串
        var regStr5 = str.match(/(\S*)world/); //["Hellohappyworld", "Hellohappy"] //截取指定字符之前的字符串
        var regStr6 = str.match(/Hello(\S*)/g); //["HellohappyworldHello!"] //截取指定字符之后的字符串
        var regStr7 = str.match(/Hello(\S*)/); //["HellohappyworldHello!", happyworld!] //截取指定字符之后的字符串
        var regStr8 = str.match(/llo(\S*)/); //["llohappyworldHello!", happyworldHello!] //截取指定字符的字符串
        console.log(regStr1);
        console.log(regStr9);
        console.log(regStr2);
        console.log(regStr3);
        console.log(regStr4);
        console.log(regStr5);
        console.log(regStr6);
        console.log(regStr7);
        console.log(regStr8);
    </script>

當(dāng)然上面這些方法與使用方式都是一些簡(jiǎn)單的需求,當(dāng)項(xiàng)目中的需求比較復(fù)雜時(shí)還得結(jié)合實(shí)際情況來(lái)進(jìn)行截取,不過(guò)不管怎樣使用的方法or實(shí)現(xiàn)思路都大概類(lèi)似,另外也鞭策一下自己好記性不如爛筆頭,碰到什么問(wèn)題or新知識(shí)還是要養(yǎng)成記錄下來(lái)的習(xí)慣,希望與諸位園友共勉。

補(bǔ)充:js中常遇到 切割截取字符串的幾種方法

切割截取字符串的幾種方法

1、 split() 方法用于把一個(gè) 字符串 分割成 字符串?dāng)?shù)組 ;

 stringObject.split(str,length)
var str = "123,456,789"; 
console.log(str.split(''));  // ["1", "2", "3", ",", "4", "5", "6", ",", "7", "8", "9"]
console.log(str.split(',')); // ["123", "456", "789"] 
參數(shù)描述
str必需。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 stringObject
length可選。如果沒(méi)有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割,不考慮它的長(zhǎng)度

注意:如果把空字符串 ("") 用作 str,那么 stringObject 中的每個(gè)字符之間都會(huì)被分割。

2、 slice() 可提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分;

第一個(gè)參數(shù)必填,第二個(gè)參數(shù)選填; 注意:如果該參數(shù)為負(fù)數(shù), 則它表示在原數(shù)組中的倒數(shù)第幾個(gè)元素結(jié)束抽取

在這里插入圖片描述

如圖所示:[1,2,3,4].slice(0, 3) 0代表開(kāi)始選取的位置 start,3代表結(jié)束位置

var str = "123,456,789"; 
console.log(str.slice(2,6));	 // 3,45
console.log(str.slice(-6,-2));   // 56,7
console.log(str.slice(2)); 		 // 3,456,789
console.log(str.slice(-6)); 	 // 56,789 

3、substring() 提取字符串中介于兩個(gè)指定下標(biāo)之間的字符
語(yǔ)法:string.substring(from, to);from必選而且非負(fù)的整數(shù),to可選非負(fù)的整數(shù) 但是to的值必須比f(wàn)rom大位置多1個(gè);

var str = "123,456,789"; 
console.log(str.substring(2,6)); 	// 3,45
console.log(str.substring(2)); 		// 3,456,789
console.log(str.substring(6,2)); 	// 3,45
console.log(str.substring(-6,-2));  //  
console.log(str.substring(6,6)); 	//  

4、join() 把數(shù)組中的所有元素轉(zhuǎn)換一個(gè)字符串

var str = [123,456,789]; 
console.log(str.join('')); // 123456789
console.log(str.join(',')); // 123,456,789

5、 charAt() 返回指定位置的字符

string.charAt(index)

index:必需。表示字符串中某個(gè)位置的數(shù)字,即字符在字符串中的位置。

在這里插入圖片描述

***:自己開(kāi)發(fā)中常遇到,就當(dāng)一個(gè)筆記,記不住打開(kāi)看看例子就明白;

到此這篇關(guān)于JS常用的4種截取字符串方法的文章就介紹到這了,更多相關(guān)js截取字符串方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS 攔截全局ajax請(qǐng)求實(shí)例解析

    JS 攔截全局ajax請(qǐng)求實(shí)例解析

    這篇文章主要介紹了JS 攔截全局ajax請(qǐng)求實(shí)例解析的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • js下將金額數(shù)字每三位一逗號(hào)分隔

    js下將金額數(shù)字每三位一逗號(hào)分隔

    這篇文章主要介紹了js下將金額數(shù)字每三位一逗號(hào)分隔的相關(guān)資料,還附加了一個(gè)小功能,小數(shù)位保留兩位,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JavaScript為事件句柄綁定監(jiān)聽(tīng)函數(shù)實(shí)例詳解

    JavaScript為事件句柄綁定監(jiān)聽(tīng)函數(shù)實(shí)例詳解

    這篇文章主要介紹了JavaScript為事件句柄綁定監(jiān)聽(tīng)函數(shù)的方法,結(jié)合實(shí)例詳細(xì)分析了常見(jiàn)的事件句柄綁定監(jiān)聽(tīng)函數(shù)的實(shí)現(xiàn)技巧,并實(shí)例講解了跨瀏覽器的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-12-12
  • Javascript中的Callback方法淺析

    Javascript中的Callback方法淺析

    這篇文章主要介紹了Javascript中的Callback方法淺析,本文講解了什么是callback、Javscript Callback、Callback是什么、Callback實(shí)例等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • JavaScript前補(bǔ)零操作實(shí)例

    JavaScript前補(bǔ)零操作實(shí)例

    這篇文章主要介紹了JavaScript前補(bǔ)零操作的方法,以實(shí)例形式對(duì)比分析了javascript實(shí)現(xiàn)補(bǔ)零操作的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • JavaScript中鏈?zhǔn)秸{(diào)用之研習(xí)

    JavaScript中鏈?zhǔn)秸{(diào)用之研習(xí)

    方法鏈一般適合對(duì)一個(gè)對(duì)象進(jìn)行連續(xù)操作(集中在一句代碼)。一定程度上可以減少代碼量,缺點(diǎn)是它占用了函數(shù)的返回值。
    2011-04-04
  • javascript實(shí)現(xiàn)前端input密碼輸入強(qiáng)度驗(yàn)證

    javascript實(shí)現(xiàn)前端input密碼輸入強(qiáng)度驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)前端input密碼輸入強(qiáng)度驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 微信小程序swiper輪播圖組件使用方法詳解

    微信小程序swiper輪播圖組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了微信小程序swiper輪播圖組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • js url傳值中文亂碼之解決之道

    js url傳值中文亂碼之解決之道

    因?yàn)閖s url在傳值的過(guò)程中使用的是js自己默認(rèn)的字符集編碼規(guī)則,我們必須把它轉(zhuǎn)成屬于我們自己的編碼規(guī)格
    2009-11-11
  • Javascript 刷新全集常用代碼

    Javascript 刷新全集常用代碼

    Javascript刷新頁(yè)面實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2009-11-11

最新評(píng)論