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

js字符串截取函數(shù)slice、substring和substr的比較

 更新時(shí)間:2016年05月17日 09:17:03   作者:for_kk  
這篇文章主要震碎js字符串截取函數(shù)slice、substring和substr進(jìn)行比較,感興趣的小伙伴們可以參考一下

在js中字符截取函數(shù)有常用的三個(gè)slice()、substring()、substr()了,下面我來(lái)給大家介紹slice()、substring()、substr()函數(shù)在字符截取時(shí)的一些用法與區(qū)別吧。

取字符串的三個(gè)函數(shù):slice(start,[end]),substring(start,[end])和substr(start,[length])
相關(guān)屬性:
slice()
第一個(gè)參數(shù)代表開始位置,第二個(gè)參數(shù)代表結(jié)束位置的下一個(gè)位置,截取出來(lái)的字符串的長(zhǎng)度為第二個(gè)參數(shù)與第一個(gè)參數(shù)之間的差;若參數(shù)值為負(fù)數(shù),則將該值加上字符串長(zhǎng)度后轉(zhuǎn)為正值;若第一個(gè)參數(shù)等于大于第二個(gè)參數(shù),則返回空字符串.
substring()
第一個(gè)參數(shù)代表開始位置,第二個(gè)參數(shù)代表結(jié)束位置的下一個(gè)位置;若參數(shù)值為負(fù)數(shù),則將該值轉(zhuǎn)為0;兩個(gè)參數(shù)中,取較小值作為開始位置,截取出來(lái)的字符串的長(zhǎng)度為較大值與較小值之間的差.
substr()
第一個(gè)參數(shù)代表開始位置,第二個(gè)參數(shù)代表截取的長(zhǎng)度
PS:字符串都從0開始計(jì)起
例子:

<script type="text/javascript">
   var stmp = "rcinn.cn";
   //使用一個(gè)參數(shù)
   alert(stmp.slice(3));//從第4個(gè)字符開始,截取到最后個(gè)字符;返回"nn.cn"
   alert(stmp.substring(3));//從第4個(gè)字符開始,截取到最后個(gè)字符;返回"nn.cn"
   //使用兩個(gè)參數(shù)
   alert(stmp.slice(1,5))//從第2個(gè)字符開始,到第5個(gè)字符;返回"cinn"
   alert(stmp.substring(1,5));//從第2個(gè)字符開始,到第5個(gè)字符;返回"cinn"
   //如果只用一個(gè)參數(shù)并且為0的話,那么返回整個(gè)參數(shù)
   alert(stmp.slice(0));//返回整個(gè)字符串
   alert(stmp.substring(0));//返回整個(gè)字符串
   //返回第一個(gè)字符
   alert(stmp.slice(0,1));//返回"r"
   alert(stmp.substring(0,1));//返回"r"
   //在上面的例子中我們可以看出slice()和substring()的用法是相同的
   //返回的值也是一樣的,但當(dāng)參數(shù)為負(fù)數(shù)時(shí),他們的返回值卻不一樣,看下面的例子
   alert(stmp.slice(2,-5));//返回"i"
   alert(stmp.substring(2,-5));//返回"rc"
   //從上面兩個(gè)例子可以看出slice(2,-5)實(shí)際上是slice(2,3)
   //負(fù)5加上字符串長(zhǎng)度8轉(zhuǎn)換成正3(若第一位數(shù)字等于或大于第二位數(shù)字,則返回空字符串);
   //而substring(2,-5)實(shí)際上是substring(2,0),負(fù)數(shù)轉(zhuǎn)換為0,substring總是把較小的數(shù)作為起始位置。
   alert(stmp.substring(1,5))//從第2個(gè)字符開始,到第5個(gè)字符;返回"cinn"
   alert(stmp.substr(1,5));//從第2個(gè)字符開始,截取5個(gè)字符;返回"cinn."
</script>

substr 和 substring方法的區(qū)別

<script type="text/javascript"> 
var str = "0123456789";// 
alert(str.substring(0));//------------"0123456789" 
alert(str.substring(5));//------------"56789" 
alert(str.substring(10));//-----------"" 
alert(str.substring(12));//-----------"" 
alert(str.substring(-5));//-----------"0123456789" 
alert(str.substring(-10));//----------"0123456789" 
alert(str.substring(-12));//----------"0123456789" 
alert(str.substring(0,5));//----------"01234" 
alert(str.substring(0,10));//---------"0123456789" 
alert(str.substring(0,12));//---------"0123456789" 
alert(str.substring(2,0));//----------"01" 
alert(str.substring(2,2));//----------"" 
alert(str.substring(2,5));//----------"234" 
alert(str.substring(2,12));//---------"23456789" 
alert(str.substring(2,-2));//---------"01" 
alert(str.substring(-1,5));//---------"01234" 
alert(str.substring(-1,-5));//--------"" 
alert(str.substr(0));//---------------"0123456789" 
alert(str.substr(5));//---------------"56789" 
alert(str.substr(10));//--------------"" 
alert(str.substr(12));//--------------"" 
alert(str.substr(-5));//--------------"0123456789" 
alert(str.substr(-10));//-------------"0123456789" 
alert(str.substr(-12));//-------------"0123456789" 
alert(str.substr(0,5));//-------------"01234" 
alert(str.substr(0,10));//------------"0123456789" 
alert(str.substr(0,12));//------------"0123456789" 
alert(str.substr(2,0));//-------------"" 
alert(str.substr(2,2));//-------------"23" 
alert(str.substr(2,5));//-------------"23456" 
alert(str.substr(2,12));//------------"23456789" 
alert(str.substr(2,-2));//------------"" 
alert(str.substr(-1,5));//------------"01234" 
alert(str.substr(-1,-5));//-----------"" 
</script>

函數(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è)方法非常巧妙,而且基本上是正確的。說(shuō)“基本上”是因?yàn)樗谌 ?23漢字測(cè)試”左邊長(zhǎng)度為 6 的子串時(shí),它返回的是“123漢字”,而不是“123漢”。當(dāng)然,這也并不一定就是問(wèn)題,某些情況下需求可能就是這樣。這個(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″);
  }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • javascript對(duì)下拉列表框(select)的操作實(shí)例講解

    javascript對(duì)下拉列表框(select)的操作實(shí)例講解

    這篇文章主要介紹了javascript對(duì)下拉列表框(select)的操作。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • js封裝的textarea操作方法集合(兼容很好)

    js封裝的textarea操作方法集合(兼容很好)

    對(duì)應(yīng)用到對(duì)textarea處理的朋友可以參考下??刂频谋容^不錯(cuò)的代碼封裝。
    2010-11-11
  • js propertychange和oninput事件

    js propertychange和oninput事件

    項(xiàng)目中常遇到輸入框檢查的需求,比如即時(shí)搜索,用change事件?change事件失去焦點(diǎn)才發(fā)生,無(wú)法做到即時(shí)。keypresss事件?能監(jiān)聽到鍵盤,但監(jiān)聽不到鼠標(biāo)復(fù)制粘貼,不完美
    2014-09-09
  • js數(shù)組去重的5種算法實(shí)現(xiàn)

    js數(shù)組去重的5種算法實(shí)現(xiàn)

    這篇文章主要介紹了js數(shù)組去重的5種算法實(shí)現(xiàn),詳細(xì)解釋了實(shí)現(xiàn)思路,以及每個(gè)算法的優(yōu)缺點(diǎn),感興趣的小伙伴們可以參考一下
    2015-11-11
  • 使用layui日期控件laydate對(duì)開始和結(jié)束時(shí)間進(jìn)行聯(lián)動(dòng)控制的方法

    使用layui日期控件laydate對(duì)開始和結(jié)束時(shí)間進(jìn)行聯(lián)動(dòng)控制的方法

    今天小編就為大家分享一篇使用layui日期控件laydate對(duì)開始和結(jié)束時(shí)間進(jìn)行聯(lián)動(dòng)控制的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 微信小程序使用vant組件庫(kù)的詳細(xì)步驟

    微信小程序使用vant組件庫(kù)的詳細(xì)步驟

    VantWeapp是有贊團(tuán)隊(duì)開源的小程序UI組件庫(kù),可快速搭建小程序項(xiàng)目,小程序支持npm安裝第三方包,但需使用開發(fā)者工具構(gòu)建,VantWeapp提供全局和局部注冊(cè)方式,支持自定義事件和插槽,可通過(guò)解除樣式隔離、使用外部樣式類和CSS變量修改組件樣式
    2024-09-09
  • 微信小程序在Tab的icon上顯示消息數(shù)量的方法

    微信小程序在Tab的icon上顯示消息數(shù)量的方法

    這篇文章主要介紹了微信小程序在Tab的icon上顯示消息數(shù)量的方法,首先,在app.json文件中,找到對(duì)應(yīng)的tabBar配置,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • javascript Prototype 對(duì)象擴(kuò)展

    javascript Prototype 對(duì)象擴(kuò)展

    從對(duì)象創(chuàng)建一個(gè)實(shí)例說(shuō)起來(lái)貌似是很簡(jiǎn)單的東西,是啊,基本在所有的語(yǔ)言中,都是用new關(guān)鍵字來(lái)創(chuàng)建實(shí)例的
    2009-05-05
  • uniapp 仿微信的右邊下拉選擇彈出框的實(shí)現(xiàn)代碼

    uniapp 仿微信的右邊下拉選擇彈出框的實(shí)現(xiàn)代碼

    這篇文章主要介紹了uniapp 仿微信的右邊下拉選擇彈出框的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 淺談Javascript中的函數(shù)、this以及原型

    淺談Javascript中的函數(shù)、this以及原型

    下面小編就為大家?guī)?lái)一篇淺談Javascript中的函數(shù)、this以及原型。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10

最新評(píng)論

绩溪县| 内江市| 横山县| 杭锦后旗| 南投市| 阜城县| 乐昌市| 凉城县| 庄河市| 桃源县| 崇阳县| 元谋县| 丰台区| 江华| 栾城县| 克拉玛依市| 公主岭市| 厦门市| 广昌县| 滨州市| 桐庐县| 伊金霍洛旗| 平原县| 静乐县| 淳化县| 华蓥市| 衡山县| 万荣县| 安宁市| 阿鲁科尔沁旗| 永平县| 吴旗县| 西平县| 安西县| 长寿区| 远安县| 凤翔县| 扶绥县| 南投县| 云和县| 威海市|