【www.gdgbn.com--php常用代码】

string.substring(from, to)
string.slice(start, end)

这两个方法差不多,都是指定开始和结束位置返回新字符串,在参数均为正整数的时候返回结果一样,当参数为负整数的时候,string.substring(from, to) 把负整数都当作0处理,而 string.slice(start, end) 将把负整数加上该字符串的长度处理。

string.substr(start, length)

这个方法只在第二个参数上指定的是新字符串的长度,对于负正数和string.slice(start, end)处理一样,把负整数加上原字符串的长度。


var s = "abcdefg";

s.substring(1,4) // returns "bcd"
s.slice(1,4) // returns "bcd"
s.substr(1,4) // returns "bcde"

s.substring(2,-3) // returns "ab" 实际上是 s.substring(0,2) 较小的参数会在前面
s.slice(2,-3) // returns "cd" 实际上是 s.slice(2,4)
s.substr(2,-3) // returns "cdef" 实际上是 s.slice(2,4)


substr(start,length);start必须,length可选.

start 是截取的开始位置的下标,从0开始算起,必须是数字.可以是负数,-1是倒数第一个字符,-2是倒数第二个字符,以此类推.

length 是要截取的字符的长度,必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.

substr 指定的是字符串的开始下标跟截取长度,所以可以替代substring跟slice使用.

重要事项:ecmascript 没有对该方法进行标准化,因此反对使用它。


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

stringobject.substring(start,end);start必须,end可选.

start 是截取的开始位置的下标,从0开始算起,必须是非负数字.(w3c说必须是非负整数,试验了下,不是整数也可以.)

end 必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.


注意事项:substring截取的字符不包括end处的字符.所以截取的长度为end-start.

start=end的话,返回空字符串,长度为0.

重要事项:substring不接收负的参数,slice和substr可以.

本文来源:http://www.gdgbn.com/jiaocheng/28145/