JavaScript Substr() 的意外结果
Unexpected Result With JavaScript Substr()
我在 JavaScript 中遇到 substr() 问题。
请看下面的代码。
The following works as expected. y = 2017
var add_date = "20170505";
var y = add_date.substr(0, 4);
alert(y);
But... the following doesn't work. It should return '05' but instead it returns 0505. m = 0505
var add_date = "20170505";
var m = add_date.substr(4, 6);
alert(m);
谁能给我解释一下这是怎么回事?
谢谢,
内森
.substr(4,6)
方法 returns 6 个字符从索引 4
开始。请改用 .substring
。
var add_date = "20170505",
y = add_date.substring(0, 4);
console.log(y);
var add_date = "20170505",
m = add_date.substring(4, 6);
console.log(m);
String.substr
的第二个参数指定要提取的字符数。
您的代码应如下所示:
var add_date = "20170505";
var m = add_date.substr(4, 2);
alert(m);
substr()
有两个参数,指定起始索引和要提取的长度。
您可能会将它与采用开始索引和结束索引两个参数的 .substring()
方法混淆。
JavaScript 的 substr 命令的语法是:string.substr(start, length)。所以代码行应该是:
var m = add_date.substr(4, 2);
SUBSTR函数的参数是start和length,不是start和end
在控制台中您可以看到:
"ABCDEFGHIJKL".substr(0,4)
"ABCD"
"ABCDEFGHIJKL".substr(4,6)
"EFGHIJ"
"ABCDEFGHIJKL".substr(4,2)
"EF"
所以你想要的是
.substr(4,2)
我在 JavaScript 中遇到 substr() 问题。
请看下面的代码。
The following works as expected. y = 2017
var add_date = "20170505";
var y = add_date.substr(0, 4);
alert(y);
But... the following doesn't work. It should return '05' but instead it returns 0505. m = 0505
var add_date = "20170505";
var m = add_date.substr(4, 6);
alert(m);
谁能给我解释一下这是怎么回事?
谢谢,
内森
.substr(4,6)
方法 returns 6 个字符从索引 4
开始。请改用 .substring
。
var add_date = "20170505",
y = add_date.substring(0, 4);
console.log(y);
var add_date = "20170505",
m = add_date.substring(4, 6);
console.log(m);
String.substr
的第二个参数指定要提取的字符数。
您的代码应如下所示:
var add_date = "20170505";
var m = add_date.substr(4, 2);
alert(m);
substr()
有两个参数,指定起始索引和要提取的长度。
您可能会将它与采用开始索引和结束索引两个参数的 .substring()
方法混淆。
JavaScript 的 substr 命令的语法是:string.substr(start, length)。所以代码行应该是:
var m = add_date.substr(4, 2);
SUBSTR函数的参数是start和length,不是start和end
在控制台中您可以看到:
"ABCDEFGHIJKL".substr(0,4)
"ABCD"
"ABCDEFGHIJKL".substr(4,6)
"EFGHIJ"
"ABCDEFGHIJKL".substr(4,2)
"EF"
所以你想要的是
.substr(4,2)