中易网

JS 截取字符串substr 和 substring方法的区别

答案:2  悬赏:60  
解决时间 2021-03-14 10:10
JS 截取字符串substr 和 substring方法的区别
最佳答案
区别主要在于第二个参数:

substr 第二个参数是长度

substring 第二个参数是结束索引(结果不包含这个字符)


var str = 'world';

str.substr(2,3);//rld 从索引2开始长度为3的字符串
str.substring(2,3)//r 从索引2开始,到索引3(不包含索引为3的字符),长度为1
全部回答
js中substring和substr的用法<br><br>substring 方法用于提取字符串中介于两个指定下标之间的字符<br>substring(start,end)<br>开始和结束的位置,从零开始的索引<br>参数    描述<br>start    必需。一个非负的整数,规定要提取的子串的第一个字符在 stringobject 中的位置。<br>stop    可选。一个非负的整数,比要提取的子串的最后一个字符在 stringobject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。<br><br>返回值<br><br>一个新的字符串,该字符串值包含 stringobject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。<br><br>说明<br><br>substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。<br>如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。<br>如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。<br>如果 start 或 end 为负数,那么它将被替换为 0。<br>2.substr 方法<br><br>定义和用法<br><br>substr 方法用于返回一个从指定位置开始的指定长度的子字符串。<br><br>语法<br><br>stringobject.substr(start [, length ])<br><br>参数    描述<br>start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。<br>length 可选。在返回的子字符串中应包括的字符个数。<br><br>说明<br>如果start为负数,则start=str.length+start。<br>如果 length 为 0 或负数,将返回一个空字符串。<br>如果没有指定该参数,则子字符串将延续到stringobject的最后。<br><br>举例:<br>var str = "0123456789";<br><br>alert(str.substring(0));------------"0123456789"<br>alert(str.substring(5));------------"56789"<br>alert(str.substring(10));-----------""<br>alert(str.substring(12));-----------""<br>alert(str.substring(-5));-----------"0123456789"<br>alert(str.substring(-10));----------"0123456789"<br>alert(str.substring(-12));----------"0123456789"<br>alert(str.substring(0,5));----------"01234"<br>alert(str.substring(0,10));---------"0123456789"<br>alert(str.substring(0,12));---------"0123456789"<br>alert(str.substring(2,0));----------"01"<br>alert(str.substring(2,2));----------""<br>alert(str.substring(2,5));----------"234"<br>alert(str.substring(2,12));---------"23456789"<br>alert(str.substring(2,-2));---------"01"<br>alert(str.substring(-1,5));---------"01234"<br>alert(str.substring(-1,-5));--------""<br><br>alert(str.substr(0));---------------"0123456789"<br>alert(str.substr(5));---------------"56789"<br>alert(str.substr(10));--------------""<br>alert(str.substr(12));--------------""<br>alert(str.substr(-5));--------------"56789"<br>alert(str.substr(-10));-------------"0123456789"<br>alert(str.substr(-12));-------------"0123456789"<br>alert(str.substr(0,5));-------------"01234"<br>alert(str.substr(0,10));------------"0123456789"<br>alert(str.substr(0,12));------------"0123456789"<br>alert(str.substr(2,0));-------------""<br>alert(str.substr(2,2));-------------"23"<br>alert(str.substr(2,5));-------------"23456"<br>alert(str.substr(2,12));------------"23456789"<br>alert(str.substr(2,-2));------------""<br>alert(str.substr(-1,5));------------"9"<br>alert(str.substr(-1,-5));-----------""   <br>http://www.cnblogs.com/chinafine/archive/2009/02/26/1398771.html
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
已知3的m次幂等于6,9的n次幂等于2,求3的2m减4
南一路/南中路(路口)这个地址在什么地方,我
科研办公性质房屋可以注册广告公司吗
中石油吴枚判刑多少年
皇后的宝座,稚奴的专宠,我都要夺过 哪一集
邻里生鲜超市我想知道这个在什么地方
南宁机场到友谊关如何坐车
cf莫言的cf号和密码是多少
狗狗眼睛斜视
怎样用对码选号
我是成都的这个月社保到今天还没有扣钱  会
北环西路/驷马桥路(路口)在什么地方啊,我要
北京二手房还会降价么?
用鸡蛋皮做的玩具
买车因为居住证问题能叫4S店办临牌吗?
推荐资讯
找女主角是天宫紫熏的小说
thinkphp 在使用cache 调用哪个
给主题婚礼拉客应该怎么和客人搭讪
巴巴爸爸专业儿童摄影(栖霞店)地址在哪,我要
海尔电视LE47A300ND怎样上网
csol国服的昼夜求生的新图到底出没出?
卖家具的导购告诉我,床垫是家具中最重要的东
C50泵送混凝土,坍落度220,浇筑剪力墙,墙宽
用如痴组一个四字词语
银行从业我报考了个人理财和公共基础,公共基
聊城有什么啤酒厂
东光县利源工业网厂地址在哪,我要去那里办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?