JavaScript-截取字符串

来源:互联网 发布:四代目大和辰之 淘宝 编辑:程序博客网 时间:2024/06/06 00:23

引言

在js中字符串截取函数有常用的三个slice()、substring()、substr()函数,同时还有一些方法如split() 、Join() 、indexOf()可以对字符串进行操作,来获得截取我们想要的字符串。

语法

取字符串的三个函数:

slice(start,[end])
substring(start,[end])
substr(start,[length])

slice()

第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度第二个参数与第一个参数之间的差

这里写图片描述
这里写图片描述

若参数值为负数,则将该值加上字符串长度后转为正值;
这里写图片描述

若第一个参数等于大于第二个参数,则返回空字符串。
这里写图片描述

substring()

第一个参数表示开始位置,第二个参数代表结束位置的下一个位置;

若参数值为负数,则将该值转为0;

两个参数中,取较小值作为开始位置,截取出来的字符串的长度为较大值与较小值之间的差。

这里写图片描述
这里写图片描述

substr()

第一个参数代表开始位置,第二个参数代表截取的长度

若参数为负数,第一个按倒叙查,若超出字符串长度,则输出整个字符串。第二个参数视为0。
这里写图片描述
这里写图片描述
PS:字符串都是从0开始计起。

示例

   var stmp = "rcinn.cn";      //使用一个参数      console.log("demoStringSlice");      console.log(stmp.slice(3),"nn.cn")      console.log(stmp.substring(3),"nn.cn");      //使用两个参数      console.log(stmp.slice(1,5),"cinn")      console.log(stmp.substring(1,5),"cinn");      //如果只用一个参数并且为0的话,那么返回整个参数      console.log(stmp.slice(0),"rcinn.cn");      console.log(stmp.substring(0),"rcinn.cn");      //返回第一个字符      console.log(stmp.slice(0,1),"r");      console.log(stmp.substring(0,1),"r");      //在上面的例子中我们可以看出slice()和substring()的用法是相同的      //返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子      console.log(stmp.slice(2,-5),"i");      console.log(stmp.substring(2,-5),"rc");      //从上面两个例子可以看出slice(2,-5)实际上是slice(2,3)      //负5加上字符串长度8转换成正3(若第一位数字等于或大于第二位数字,则返回空字符串);      //而substring(2,-5)实际上是substring(2,0),负数转换为0,substring总是把较小的数作为起始位置。      console.log(stmp.substring(1,5),"cinn")      console.log(stmp.substr(1,5),"cinn.");

the different of substring and substr

var str = "0123456789";// console.log("the different of substring and substr");console.log(str.substring(0),"0123456789");//------------"0123456789" console.log(str.substring(5),"56789");//------------"56789" console.log(str.substring(10),"");//-----------"" console.log(str.substring(12),"");//-----------"" console.log(str.substring(-5),"0123456789");//-----------"0123456789" console.log(str.substring(-10),"0123456789");//----------"0123456789" console.log(str.substring(-12),"0123456789");//----------"0123456789" console.log(str.substring(0,5),"01234");//----------"01234" console.log(str.substring(0,10),"0123456789");//---------"0123456789" console.log(str.substring(0,12),"0123456789");//---------"0123456789" console.log(str.substring(2,0),"01");//----------"01" console.log(str.substring(2,2),"");//----------"" console.log(str.substring(2,5),"234");//----------"234" console.log(str.substring(2,12),"23456789");//---------"23456789" console.log(str.substring(2,-2),"01");//---------"01" console.log(str.substring(-1,5),"01234");//---------"01234" console.log(str.substring(-1,-5),"");//--------"" console.log(str.substr(0),"0123456789");//---------------"0123456789" console.log(str.substr(5),"56789");//---------------"56789" console.log(str.substr(10),"");//--------------"" console.log(str.substr(12),"");//--------------"" console.log(str.substr(-5),"56789");//--------------"0123456789" console.log(str.substr(-10),"0123456789");//-------------"0123456789" console.log(str.substr(-12),"0123456789");//-------------"0123456789" console.log(str.substr(0,5),"01234");//-------------"01234" console.log(str.substr(0,10),"0123456789");//------------"0123456789" console.log(str.substr(0,12),"0123456789");//------------"0123456789" console.log(str.substr(2,0),"");//-------------"" console.log(str.substr(2,2),"23");//-------------"23" console.log(str.substr(2,5),"23456");//-------------"23456" console.log(str.substr(2,12),"23456789");//------------"23456789" console.log(str.substr(2,-2),"");//------------"" console.log(str.substr(-1,5),'9');//------------"01234" console.log(str.substr(-1,-5),"");//-----------"" 

split()

功能:使用一个指定的分隔符把一个字符串分割存储到数组

语法

stringObject.split(separator,limit)

separator 必需。分隔符,从该参数指定的地方分隔stringObject。
limit 可选参数。分隔的次数,如设置该参数,返回的子串不会多余这个参数指定的数组,如果无此参数为不限制次数

注意
如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

将字符串分割为字符

document.write(mystr.split("")+"<br>");document.write(mystr.split("", 5));

运行结果

w,w,w,.,i,m,o,o,c,.,c,o,mw,w,w,.,i

加上limit只会切割成符合条件的数组,余后的字符会被删除掉

var oStr="jpg|bmp|gif|ico|png";var arr=oStr.split("|");console.log(arr);

arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组
这里写图片描述

Join()

功能:使用自己选择的分隔符将一个数组合合并为一个字符串

var myList=new Array("jpg","bmp","gif","ico","png");var portableList=myList.join("|");console.log(portableList);

这里写图片描述

indexOf()

功能:返回某个指定的字符串值在字符串中首次出现的位置。

语法

stringObject.indexOf(substring, startpos)

substring 必需。规定需检索的字符串值。
startpos 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObject.length-1。如省略改参数,则将从字符串的首字符开始检索

如果要检索的字符串值没有出现,则该方法返回 -1。

var myString="JavaScript"var oNum1=myString.indexOf("v");var oNum2=myString.indexOf("S");var oNum3=myString.indexOf("Script");var oNum4=myString.indexOf("key");console.log(oNum1,oNum2,oNum3,oNum4);

这里写图片描述

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 锻钢截止阀厂家 仙锻全文阅读 锻木银耳 锻打件 z61h锻钢闸阀 锻骨经 锻骨诀 锻骨决 锻制管件标准 内螺纹锻钢球阀 进口高压锻钢闸阀 锻不锈钢闸阀 温锻机 q347n高压锻钢球阀 锻钢阀门图片 二片式锻钢球阀 自动镦锻机 锻焊压力容器 锻打铁艺栏杆 锻打铜 小口径锻钢球阀 锻骨者祖尔查卡 锻钢球阀图片 辊锻机 进口高压锻钢球阀 锻钢价格 白心可锻铸铁 进口焊接式锻钢闸阀 可锻铸铁 球墨铸铁 6061锻铝 锻铝6061 钛锻件厂家 铝合金锻件价格 大型铸锻件 大型锻件 不锈钢锻件厂家 锻件加工厂 锻件标准 钛合金锻件 大型锻件厂家