字符串截取
substring(startIndex,endIndex)
substring()方法返回一个索引和另一个索引之间的字符串,即 从字符startIndex 到endIndex前一个字符串,不包括endIndex。
例子:
var string= 'substring方法返回startIndex & endIndex之间的字符串'
var andIndex = string.indexOf('&') //获取 & 在字符串中的位置
var string = 'substring方法返回startIndex & endIndex之间的字符串'
var andIndex = string.indexOf('&') //获取&在字符串中的位置,返回24,注:空格也占位置的
var adnStr = string.substring(0,andIndex) //返回'substring方法返回startIndex',即&以前的字符串
注意事项
若任一参数小于0或是NaN,则该参数被视为为0。
若startIndex等于endIndex,substring()返回一个空字符串。
若任何一个参数都大于字符串长度,则被视为是string.length。
若endIndex缺省,则substring()截取startIndex到字符串的末尾之间的字符串。
若indexStart大于endIndex,那么效果substring()就好像这两个论点被交换了一样;
例如,string.substring(1, 0) == string.substring(0, 1)
string.substr(start, length)
string.substr()返回从指定位置开始的某长度字符数的字符串。
例子
var string = 'substring方法返回startIndex & endIndex之间的字符串'
var str = string.substr(1,4) //返回ubst
说明:上述例子中可以看出substr()返回的是从字符串下标为start开始包含start处的字符串,长度为length的字符串
注意事项
若start是正的并且大于或等于字符串的长度,则substr()返回一个空字符串。
若start为负数,则将该值加上字符串长度后再进行计算(若加上字符串的长度后还为负数,则值默认为0)。
若length为0或负数,substr()返回一个空字符串。若length缺省,则将substr()字符提取到字符串的末尾。
slice(start,end)
返回start 到 end (不包括end处元素)
例子
var string = 'substring方法返回startIndex & endIndex之间的字符串'
var slicestr = string.slice(0,4) //返回subs
注意事项
start必需。规定从何处开始选取。
如果是负数,那么它规定从数组尾部开始算起的位置。
即为-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end可选。规定从何处结束选取。
该参数是数组片断结束处的数组下标。
如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
substring(),substr(),slice()相同及区别:
1.参数值含义不同
substring()和slice()两个参数均为索引,substr()第一个值为索引,第二个值为长度
2.截取方法不同
substring()是截取包含第一个索引但不包含第二个索引之间的字符串;
slice() 方法可从已有的数组中返回选定的元素
substr()截取索引后一定长度的字符串;