str.substring( startIndex [,endIndex] )
var oStr = "Hello,can I help you?"; alert(oStr.substring(6));//从第6个字符开始提取后面所有的字符,输出:can I help you? alert(oStr.substring(6,9));//提取第6~8之间的字符,输出:can alert(oStr.substring(9,6));//第二个参数大于第一个参数,截取字符串前先对调参数位置,输出:can alert(oStr.substring(2,-3));//将负数和正数对调,且将负数看成0,输出:He alert(oStr.substring(-2,-3));//两个参数都为负数,没有输出 alert(oStr.substring(-4));//将负数看成0,输出:Hello,can I help you?从上述示例可看出,substring() 必须至少有一个参数为正数,否则无结果输出。而且为负数的参数永远都只能作为第一个参数,且其值都会被看成 0。所以,substring(2,-3) 等效于 substring(0,2),substring(-4) 等效于 substring(0)。另外,第二个参数大于第一个参数时,两个参数会对调位置,所以 substring(9,6) 等效于 substring(6,9)。
str.substr( startIndex [,length] )
var str = "Hello,can I help you?"; alert(str.substr(-2,3));//从倒数第二个字符开始提取后面不超过3个字符的子串,输出:u? alert(str.substr(1,3));//从第二个字符开始提取后面不超过3个字符的子串,输出:ell alert(str.substr(1,-3));//length参数为负数,没有结果输出 alert(str.substr(6));//从第7个字符开始提取后面所有的字符,输出:can I help you?
str.slice( startIndex [,endIndex] )
var str = "Hello,can I help you?"; alert(str.slice(6));//从第6个字符开始提取后面所有字符,输出:can I help you? alert(str.slice(6,9));//提取从第6到第8个字符之间的所有字符,输出:can alert(str.slice(9,6));////第一个参数大于第二个参数,没有输出 alert(str.slice(2,-3));//从第三个字符开始提取到倒数第四个字符之间的所有字符,输出:llo,can I help y alert(str.slice(-4));//从倒数第四个字符开始提取后面所有字符,输出:you? alert(str.slice(-4,-1));//提取从倒数第四个字符开始到倒数第二个字符之间的所有字符,输出:you
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>使用substring()实现字符串的收缩和展开</title>
<script>
window.onload = function(){
var oP = document.getElementsByTagName('p')[0];
var oSpan = document.getElementsByTagName('span')[0];
var oA = document.getElementsByTagName('a')[0];
var str = oSpan.innerHTML;
var onOff = true;
oA.onclick = function(){
if(onOff){
oSpan.innerHTML = str.substring(0,27);
oA.innerHTML = '>>展开';
}else{
oSpan.innerHTML = str;
oA.innerHTML = '>>收缩';
}
onOff = !onOff;
};
};
</script>
</head>
<body>
<p><span>DJI 大疆创新今日发布“御”Mavic 2 系列无人机,包括“御”Mavic 2 专业版及“御”Mavic 2 变
焦版两款。大疆官方将“御”Mavic 2 系列定位为“便携航拍旗舰”,其延续了“御”Mavic Pro的折叠式机身设计,
并将哈苏影像与光学变焦技术融入其中。</span>…<a href="javascript:;">>>收缩</a></p>
</body>
</html>
上述 JS 代码使用 substring() 来截取字符串作为收缩后的文本,使用 substr() 或 slice() 方法替换 substring() 得到的结果完全相同。上述代码在 Chrome 浏览器中的运行结果如图 1 和图 2 所示。
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有