JavaScript 字符串截取方法 slice、substring 与 substr 详解
本文详细解析 JavaScript 中三种字符串截取方法 [[wp:a0]]、[[wp:a1]] 和 [[wp:a2]] 的用法。重点对比单参数与双参数场景,深入剖析当参数为负数时各方法的差异行为,特别是 [[wp:a3]] 时的返回值区别。通过具体代码示例展示如何正确获取指定位置字符及处理倒数索引,帮助开发者避免常见陷阱。
JavaScript 提供了三种用于截取字符串的方法,分别是 slice()、substring() 以及 substr()。这三种方法均支持接收一个或两个参数,用于定义截取的起始位置和结束位置。
var stmp = "rcinn.cn";
使用一个参数
alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"
alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"
使用两个参数
alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn"
alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn"
如果只用一个参数并且为0的话,那么返回整个参数
alert(stmp.slice(0));//返回整个字符串
alert(stmp.substring(0));//返回整个字符串
返回第一个字符
alert(stmp.slice(0,1));//返回"r"
alert(stmp.substring(0,1));//返回"r"
//在上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也是一样的,但当 参数为负数时,他们的返回值却不一样,看下面的例子
alert(stmp.slice(2,-5));//返回"i"
alert(stmp.substring(2,-5));//返回"rc"
//从上面两个例子可以看出slice(2,-5)实际上是slice(2,3),负5加上字符串长度8转换成正3(若第一位数字等于或大于第二位数字 (slice()注意:这里第二位数字如果是负数是加完字符串长度后的数字,而不是显示的数字例:length=11,(7,-6),-6+11=5第二位小于第一位),则返回空字符串);而substring(2,-5)实际上是substring(2,0),负数转换为0,substring总是把较小的数作为起始位置。
alert(stmp.substring(1,5))//从第2个字符开始,到第5个字符;返回"cinn"
alert(stmp.substr(1,5));//从第2个字符开始,截取5个字符;返回"cinn."
var phone = 15989012100;
phone.slice(-6) 取倒数后6位(第二个参数不用写0),return ‘012100 ';
phone.slice(-6,-4) 取倒数后4位到倒数6位,(-6+11,-4+11)=(5,7);
// 日期比较大小 当日期每个月都小1时
var nowdate = new Date();
item = 2016-7-16;
temp = item.split('-');
if (temp[0] != curYear || temp[1] != curMonth) {
return;
}
temp[1] = parseInt(temp[1]) + 1;
date = new Date(temp.join('-'));
if(date>=nowdate){
执行A;
}else{
执行B;
}
替换指定字符串后的字母
var abc = 'adadada=ss';
var j = abc.substring(abc.indexOf('=')+1,abc.length);
var dsd =abc.replace(j,'haha'); --> dsd = 'adadada=haha'
以上所述是小编给大家介绍的JS截取字符串的三种方法,希望对大家有所帮助。在此也非常感谢大家对本站网站的支持!
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
