substr和substring的⽤法和区别
substr 和 substring都是JS 截取字符串函数,两者⽤法很相近,下⾯是两者的语法很⽰例:
substr ⽅法
返回⼀个从指定位置开始的指定长度的⼦字符串。substring和slice
stringvar.substr(start [, length ])
参数
stringvar
必选项。要提取⼦字符串的字符串⽂字或 String 对象。
start
必选项。所需的⼦字符串的起始位置。字符串中的第⼀个字符的索引为 0。
length
可选项。在返回的⼦字符串中应包括的字符个数。
说明
如果 length 为 0 或负数,将返回⼀个空字符串。如果没有指定该参数,则⼦字符串将延续到 stringvar 的最后。
⽰例代码
function SubstrDemo(){
var s, ss; // 声明变量。
var s = "The rain in Spain falls mainly in the plain.";
ss = s.substr(12, 5); // 获取⼦字符串。
return(ss); // 返回 "Spain"。
}
substring ⽅法
返回位于 String 对象中指定位置的⼦字符串。
strVariable.substring(start, end)
“String Literal”.substring(start, end)
参数
start
指明⼦字符串的起始位置,该索引从 0 开始起算。
end
指明⼦字符串的结束位置,该索引从 0 开始起算。
说明
substring ⽅法将返回⼀个包含从 start 到最后(不包含 end )的⼦字符串的字符串。
substring ⽅法使⽤ start 和 end 两者中的较⼩值作为⼦字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的⼦字符串。
如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
⼦字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的⼦字符串的的长度是 3。
⽰例代码
function SubstringDemo(){
var ss; // 声明变量。
var s = "The rain in Spain falls mainly in the plain..";
ss = s.substring(12, 17); // 取⼦字符串。
return(ss); // 返回⼦字符串。
}
【注】:应⽤substr和substring两个函数截取带有空格的字符串后的长度是每个空格算⼀个字符长度。例如:
var a = “I am shi huan!”; a.substring(0, 5).length的值是5,⽽不是4,
但alert(a.substring(0, 5));的值却是I am ,这样在做alert(“I am” == a.substring(0, 5));的时候就是false了,alert(“I am” == a.substring(0, 4));才是true

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。