耀极客论坛

 找回密码
 立即注册
查看: 706|回复: 0

JS截取字符串的三种方法详解

[复制链接]

336

主题

318

帖子

22万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
220555
发表于 2022-5-7 01:29:00 | 显示全部楼层 |阅读模式
  本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数:
  1. 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."
  1. var phone = 15989012100;
复制代码
  phone.slice(-6) 取倒数后6位(第二个参数不用写0),return ‘012100 ';
  phone.slice(-6,-4) 取倒数后4位到倒数6位,(-6+11,-4+11)=(5,7);
  1. // 日期比较大小 当日期每个月都小1时
  2. var nowdate = new Date();
  3. item = 2016-7-16;
  4. temp = item.split('-');
  5. if (temp[0] != curYear || temp[1] != curMonth) {
  6.     return;
  7. }
  8. temp[1] = parseInt(temp[1]) + 1;
  9. date = new Date(temp.join('-'));
  10. if(date>=nowdate){
  11. 执行A;
  12. }else{
  13. 执行B;
  14. }
复制代码
  替换指定字符串后的字母
  1. var abc = 'adadada=ss';
  2. var j = abc.substring(abc.indexOf('=')+1,abc.length);
  3. var dsd =abc.replace(j,'haha');  -->   dsd = 'adadada=haha'
复制代码
  以上所述是小编给大家介绍的JS截取字符串的三种方法,希望对大家有所帮助。在此也非常感谢大家对脚本之家网站的支持!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|耀极客论坛 ( 粤ICP备2022052845号-2 )|网站地图

GMT+8, 2022-12-7 11:55 , Processed in 0.065168 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表