您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“JavaScript怎么截取字符串”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“JavaScript怎么截取字符串”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
在JavaScript中常用的字符截取函數(shù)有slice()、substring()、substr()3個(gè),我們將從這三個(gè)函數(shù)出發(fā),看看在JavaScript中,這些函數(shù)是如何通過JavaScript截取字符串的。
下面是這三個(gè)JavaScript截取字符串方式:
1.slice()
第一個(gè)參數(shù)代表開始位置,第二個(gè)參數(shù)代表結(jié)束位置的下一個(gè)位置,截取出來的字符串的長(zhǎng)度為第二個(gè)參數(shù)與第一個(gè)參數(shù)之間的差;若參數(shù)值為負(fù)數(shù),則將該值加上字符串長(zhǎng)度后轉(zhuǎn)為正值;若第一個(gè)參數(shù)等于大于第二個(gè)參數(shù),則返回空字符串。
2.substring()
第一個(gè)參數(shù)代表開始位置,第二個(gè)參數(shù)代表結(jié)束位置的下一個(gè)位置;若參數(shù)值為負(fù)數(shù),則將該值轉(zhuǎn)為0;兩個(gè)參數(shù)中,取較小值作為開始位置,截取出來的字符串的長(zhǎng)度為較大值與較小值之間的差。
3.substr()
第一個(gè)參數(shù)代表開始位置,第二個(gè)參數(shù)代表截取的長(zhǎng)度
PS:字符串都從0開始計(jì)起
例子:
substr 和 substring方法的區(qū)別
函數(shù):split()
功能:使用一個(gè)指定的分隔符把一個(gè)字符串分割存儲(chǔ)到數(shù)組
例子:
str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); //arr是一個(gè)包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的數(shù)組
函數(shù):John()
功能:使用您選擇的分隔符將一個(gè)數(shù)組合并為一個(gè)字符串
例子:
var delimitedString=myArray.join(delimiter); var myList=new Array(”jpg”,”bmp”,”gif”,”ico”,”png”); var portableList=myList.join(”|”); //結(jié)果是jpg|bmp|gif|ico|png
函數(shù):indexOf()
功能:返回字符串中匹配子串的第一個(gè)字符的下標(biāo)
var myString=”JavaScript”; var w=myString.indexOf(”v”);w will be 2 var x=myString.indexOf(”S”);x will be 4 var y=myString.indexOf(”Script”);y will also be 4 var z=myString.indexOf(”key”);z will be -1
在網(wǎng)上看到另一種非常簡(jiǎn)單的方法,代碼如下:
function func(s, n) { return s.replace(/([^x00-xff])/g, "$1a").slice(0, n).replace(/([^x00-xff])a/g, "$1"); }
這個(gè)方法非常巧妙,而且基本上是正確的。說“基本上”是因?yàn)樗谌 ?23漢字測(cè)試”左邊長(zhǎng)度為 6 的子串時(shí),它返回的是“123漢字”,而不是“123漢”。當(dāng)然,這也并不一定就是問題,某些情況下需求可能就是這樣。這個(gè)方法還可以再改進(jìn)一下,如下:
function func(s, n) { return s.slice(0, n).replace(/([^x00-xff])/g, "$1a").slice(0, n).replace(/([^x00-xff])a/g, "$1"); }
讀到這里,這篇“JavaScript怎么截取字符串”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。