在JavaScript中访问字符串的子串


Posted in Javascript onJuly 07, 2015

 使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。

      substring()的原型为:  

string.substring(from, to)

      第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。

      如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。

var fullString = "Every dog has his day.";


   var section = fullString.substring(0, 4); // section is "Ever".


   section = fullString.substring(4, 0);   // section is also "Ever".


   section = fullString.substring(1, 1);   // section is an empty string.


   section = fullString.substring(-2, 4); // section is "Ever", same as fullString.substring(0, 4);  slice()的原型为: string.slice(start, end)

      参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。

      还有一个方法是substr(),其原型为: 

string.substr(start, length)

      从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。

Javascript 相关文章推荐
JS截取字符串常用方法整理及使用示例
Oct 18 Javascript
JS实现模仿微博发布效果实例代码
Dec 16 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
Sep 13 Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 Javascript
使用Vue-Router 2实现路由功能实例详解
Nov 14 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
JavaScript实现栈结构Stack过程详解
Mar 07 Javascript
关于ES6尾调用优化的使用
Sep 11 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 Javascript
jQuery.each使用详解
Jul 07 #Javascript
JavaScript中字符串拼接的基本方法
Jul 07 #Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 #Javascript
浅谈JavaScript中运算符的优先级
Jul 07 #Javascript
浏览器中url存储的JavaScript实现
Jul 07 #Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 #Javascript
深入分析下javascript中的[]()+!
Jul 07 #Javascript
You might like
php实现rc4加密算法代码
2012/04/25 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
php常用的url处理函数总结
2014/11/19 PHP
php header函数的常用http头设置
2015/06/25 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
微信小程序checkbox组件使用详解
2018/01/31 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Django压缩静态文件的实现方法详析
2018/08/26 Python
python使用多进程的实例详解
2018/09/19 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
简单而又朴实的个人求职信分享
2013/12/12 职场文书
中学生自我评价范文
2014/02/08 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
企业宣传语大全
2015/07/13 职场文书
Python中的datetime包与time包包和模块详情
2022/02/28 Python
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers