本文详细解析JavaScript中substr和substring两个字符串截取方法的区别。substr通过起始位置和长度截取,而substring通过起始和结束索引截取,且会自动处理参数大小关系。文章提供了具体的语法说明、参数定义及代码示例,帮助开发者准确选择合适的方法进行字符串操作。
substr 方法详解
substr 方法
该方法用于返回一个从指定位置开始的指定长度的子字符串。语法格式为: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"。
}
举例:
<script type="text/javascript">
var str = "0123456789";//
alert(str.substring(0));//------------"0123456789"
alert(str.substring(5));//------------"56789"
alert(str.substring(10));//-----------""
alert(str.substring(12));//-----------""
alert(str.substring(-5));//-----------"0123456789"
alert(str.substring(-10));//----------"0123456789"
alert(str.substring(-12));//----------"0123456789"
alert(str.substring(0,5));//----------"01234"
alert(str.substring(0,10));//---------"0123456789"
alert(str.substring(0,12));//---------"0123456789"
alert(str.substring(2,0));//----------"01"
alert(str.substring(2,2));//----------""
alert(str.substring(2,5));//----------"234"
alert(str.substring(2,12));//---------"23456789"
alert(str.substring(2,-2));//---------"01"
alert(str.substring(-1,5));//---------"01234"
alert(str.substring(-1,-5));//--------""
alert(str.substr(0));//---------------"0123456789"
alert(str.substr(5));//---------------"56789"
alert(str.substr(10));//--------------""
alert(str.substr(12));//--------------""
alert(str.substr(-5));//--------------"0123456789"
alert(str.substr(-10));//-------------"0123456789"
alert(str.substr(-12));//-------------"0123456789"
alert(str.substr(0,5));//-------------"01234"
alert(str.substr(0,10));//------------"0123456789"
alert(str.substr(0,12));//------------"0123456789"
alert(str.substr(2,0));//-------------""
alert(str.substr(2,2));//-------------"23"
alert(str.substr(2,5));//-------------"23456"
alert(str.substr(2,12));//------------"23456789"
alert(str.substr(2,-2));//------------""
alert(str.substr(-1,5));//------------"01234"
alert(str.substr(-1,-5));//-----------""
</script>
substring 方法详解
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); // 返回子字符串"Spain"。
}
以上这篇深入理解JS中的substr和substring就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。