JS中substring,substr和splice的用法与区别

一、定义和用法

1.substring

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

语法:string.substring(from, to)

参数 描述
from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。(负参数都直接转换为0)
to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

注意:

1.strvar.substring(from[, to])将返回一个包含从 from到to(不包含 to)的子字符串的字符串。
 2.substring 方法使用 from和 to两者中的较小值作为子字符串的起始点。例如,
strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
 3.如果 from或 to为 NaN 或者负数,那么将其替换为0。
 4.子字符串的长度等于 from和 to之差的绝对值。例如,在 strvar.substring(0, 3) 和
strvar.substring(3, 0) 返回的子字符串的的长度是 3。

2.splice

slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。

字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。

提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。=将此负数与字符串的长度相加得到的正向索引。


语法:string.slice(start,end)

参数值

参数 描述
start 必须. 要抽取的片断的起始下标。第一个字符位置为 0
end 可选。 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置(=将此负数与字符串的长度相加得到的正向索引)。

返回值

类型 描述
String 提取的字符串

3.substr

substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。

提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。
ECMAscript 没有对该方法进行标准化,因此反对使用它。

注意: substr() 方法不会改变源字符串。



语法:string.substr(start,length)

参数值

参数 描述
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推(=将此负参数与字符串长度相加后的结果作为第一个参数)。
length 可选。子串中的字符数。必须是数值。如果 length 为 0 或负数,将返回一个空字符串;如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

返回值

类型 描述
String A new string containing the extracted part of the text

注意:

stringvar.substr(start [, length ])

二、不同点

1.第二个参数不同

2.当接收的索引参数是负数时:

slice会将它字符串的长度与对应的负数相加,结果作为参数;

substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;

substring则干脆将负参数都直接转换为0。

 三、相同点

如果只是写一个参数,两者的作用都是一样的:截取字符串当前下标以后直到字符串最后的字符串片段。

时间: 2024-12-22 06:16:44

JS中substring,substr和splice的用法与区别的相关文章

js中的apply与call的用法与区别

call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.call 和 apply二者的作用完全一样,只是接受参数的方式不太一样. 方法定义applyFunction.apply(obj,args)方法能接收两个参数: obj:这个对象将代替Function类里this对象 args:这个是数组或类数组,apply方法把这个集合中的元素作为参数传递给被调用的函数. call call方法与apply方法的第一个参

js中获取时间new date()的用法

js中获取时间new date()的用法 获取时间:   var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

小程序 js中获取时间new date()的用法(网络复制过来自用)

js中获取时间new date()的用法 获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

SQL语句中count(1)count(*)count(字段)用法的区别

SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和count(*)的区别 1. count(1)和count(*)的作用: 都是检索表中所有记录行的数目,不论其是否包含null值. 2. 区别:但是count(1)比count(*)效率更高 二 . count(字段)与count(1)和count(*)的区别 count(字段)的作用是检索表中的这个字段

[转载]jQuery中wrap、wrapAll和wrapInner用法以及区别

原文地址:jQuery中wrap.wrapAll和wrapInner用法以及区别作者:伊少君 原文: <ul> <li title='苹果'>苹果</li> <li title='橘子'>橘子</li> <li title='菠萝'>菠萝</li> </ul> 1.$("li").wrap("<div></div>"); 每一个选择器都添加 <

js中substring和substr的用法

substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数     描述start     必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.stop     可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包含 stringObje

js中substring和substr和slice的用法

1.substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数 描述start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.stop 可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包含 stringObject 的一个子字符串

js中substring与substr的学习。

今天在工作的过程中,看到js中两个双胞胎函数.分别是substring与substr.顿时被两个可恶的家伙给迷惑住了,不知道具体有什么作用.. 先来看看substring手册是怎么介绍的. 手册解释的还是比较清楚的.不过还是用我的自己话给总结一下,顺便来个栗子巩固一下. 在这里你可以把字符串当成类数组的对象.既然是数组,那么就有下标,下标是从0开始的. start  与 stop 都不能是负数.下标不能为负所致. 开始数值不能比结束的还大,否则会颠倒开始与结束的次序. 截取的字符串数量,是结尾减

在js中substring和substr区别

substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数     描述start     必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.stop     可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾.返回值一个新的字符串,该字符串值包含 stringObject