JS提供三个截取字符串的方法,分别是: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));//返回整个字符串
- 返回第一个字符
// 1.位位截取
alert(stmp.slice(0,1));//返回”r”
alert(stmp.substring(0,1));//返回”r”
//上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也一样,
//但当参数为负数时,他们的返回值却不一样,看下面的例子
alert(stmp.slice(2,-5));//返回”i”;实际上是slice(2,3),负数加上字符串长度转换成正3,(若第一位 >= 第二位, 则返回空字符串);
alert(stmp.substring(2,-5));//返回”rc”; 实际上是substring(2,0),负数都转换为0, substring总是把较小的数作为起始位置。
// 2. 位位截取 和 位数截取
alert(stmp.substring(1,5))//从第1位开始,截取到第5位;返回”cinn”
alert(stmp.substr(1,5)); //从第1位开始,截取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’