<html>
<head>
<script>
var str = "123456";
document.write("123456:<br />----------substr-------------------<br />");
document.write("substr(0,5) =|" + str.substr(0,5) + "|" + "<br />");
document.write("substr(0) =|" + str.substr(0) + "|" + "<br />");
document.write("substr(5,1) =|" + str.substr(5,1) + "|" + "<br />");
document.write("substr(-5,2) =|" + str.substr(-5,2) + "|" + "<br />");
document.write("substr(-2,-5) =|" + str.substr(-2,-5) + "|" + "<br />");
document.write("substr(1,1) =|" + str.substr(1,1) + "|" + "<br />");
document.write("-----------------substring---------------<br />");
document.write("substring(0,5) =|" + str.substring(0,5) + "|" + "<br />");
document.write("substring(0) =|" + str.substring(0) + "|" + "<br />");
document.write("substring(5,1) =|" + str.substring(5,1) + "|" + "<br />");
document.write("substring(-5,2) =|" + str.substring(-5,2) + "|" + "<br />");
document.write("substring(-2,-5) =|" + str.substring(-2,-5) + "|" + "<br />");
document.write("substring(2,-5) =|" + str.substring(2,-5) + "|" + "<br />");
document.write("substring(1,1) =|" + str.substring(1,1) + "|" + "<br />");
document.write("-----------------slice-----------------<br />");
document.write("slice(0,5) =|" + str.slice(0,5) + "|" + "<br />");
document.write("slice(0) =|" + str.slice(0) + "|" + "<br />");
document.write("slice(5,1) =|" + str.slice(5,1) + "|" + "<br />");
document.write("slice(-5,2) =|" + str.slice(-5,2) + "|" + "<br />");
document.write("slice(-2,-5) =|" + str.slice(-2,-5) + "|" + "<br />");
document.write("slice(2,-5) =|" + str.slice(2,-5) + "|" + "<br />");
document.write("slice(1,1) =|" + str.slice(1,1) + "|" + "<br />");
/**
总结:
substring(start,end)
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。自动颠倒位置,数值大的在start位置上,数值小的在end位置上
如果 start 或 end 为负数,那么它将被替换为 0。
stringObject.substr(start [, length ])
start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数
如果 length 为 0 或负数,将返回一个空字符串。将数值为负数的参数转换为0 ,如果 start 或 end 为 NaN 或者负数,那么将其替换为0.
如果没有指定该参数,则子字符串将延续到stringObject的最后
stringObject.slice(startIndex,endIndex)
1)参数 endIndex 可选,如果没有指定,则默认为字符串的长度 stringObject.length
2)startIndex 、endIndex 可以是负数。如果为负,则表示从字符串尾部开始算起。即-1表示字符串最后一个字符。
var stringObject = "hello world!";
alert(stringObject.slice(-3)); // ld!
alert(stringObject.slice(-3,stringObject.length)); // ld!
alert(stringObject.slice(-3,-1)); // ld
3)startIndex、endIndex 都是可选的,如果都不填则返回字符串 stringObject 的全部,等同于slice(0)
var stringObject = "hello world!";
alert(stringObject.slice()); // hello world!
alert(stringObject.slice(0)); // hello world!
4)如果startIndex、endIndex 相等,则返回空串
**/
</script>
</head>
<body>
</body>
</html>