在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 相关文章推荐
免费空间广告万能消除代码
Sep 04 Javascript
js简单实现用户注册信息的校验代码
Nov 15 Javascript
js实现可拖动DIV的方法
Dec 17 Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
JS实现判断碰撞的方法
Feb 11 Javascript
浅谈JS函数定义方式的区别
Oct 30 Javascript
微信小程序 利用css实现遮罩效果实例详解
Jan 21 Javascript
浅谈node.js 命令行工具(cli)
May 10 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
Apr 11 Javascript
vue使用recorder.js实现录音功能
Nov 22 Javascript
jquery css实现流程进度条
Mar 26 jQuery
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 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
深入了解php4(1)--回到未来
2006/10/09 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
babel基本使用详解
2017/02/17 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
python使用Matplotlib画饼图
2018/09/25 Python
parser.add_argument中的action使用
2020/04/20 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
财务部总监岗位职责
2014/03/12 职场文书
中学生英语演讲稿
2014/04/26 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
世界气象日活动总结
2015/02/27 职场文书
民事答辩状范本
2015/05/21 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript