1. substring(start, end)
  1). 包头不包尾
  2). start 必需项
  3). end 非必需项
  4). start end 谁大谁小无所谓
  5). start end 若为 NAN/负数 时,则替换为 0
  6). start end 均是从索引 0 算起的
  7). 截取的子串长度为 |start-end| (绝对值)
  8). end 不指定数值,返回从 start 到 原串末尾 的子串

  var str="javaScript";
  console.log(str.substring(4));
  //Script
  var str="javaScript";
  console.log(str.substring(4,7));
  //console.log(str.substring(7,4));
  //Scr
  var str="javaScript";
  console.log(str.substring(4,0));
  //console.log(str.substring(0,4));
  //java

2. substr(start, length)
  1). start 开始,截取 length 长度的子串
  2). start 必需项
  3). length 非必需项
  4). length 为 0/NaN/负数 时,返回空串,
  5). length 不指定数值,返回从 start 到 原串末尾 的子串

  var str="javaScript";
  console.log(str.substr(4,2));
  //Sc
  var str="javaScript";
  console.log(str.substr(4));
  //Script

3. slice(start, end)
  1). 包头不包尾
  2). start 必需项
  3). end 非必需项
  4). start end 若为负数,则表示从原串末尾开始算起,-1代表最后一个,-2代表倒数第二个
  5). end 为 0/NaN 时,返回空串
  6). 若最后算出 end 在 start 之前的话,也返回空串
  7). end 不指定数值,返回从 start 到 原串末尾 的子串

  var str="javaScript";
  console.log(str.slice(4, 10));
  //Script
  var str="javaScript";
  console.log(str.slice(4, -1));
  //Scrip
  var str="javaScript";
  console.log(str.slice(-4, -1));
  //rip
  var str="javaScript";
  console.log(str.slice(-4, 10));
  //ript
  var str="javaScript";
  console.log(str.slice(-4, 1));//(4, 'a') (4, 0) (4, -6)
  //

4. split(separator, howmany)
  1). split 切割字符串并已数组形式返回
  2). separator 必需项 分割器,格式:字符串/正则表达式
  3). howmany 非必需项 返回的数组的最大长度
  4). separator 若为 "",则返回将原串每个字符之间都作分割后的数组
  
  var str="text/javaScript";
  console.log(str.split('/'));
  //["text", "javaScript"]
  var str="How are you doing today?";
  console.log(str.split(' '));
  //["How","are","you","doing","today?"]
  var str="How are you doing today?";
  console.log(str.split(' ', 3));
  //["How","are","you"]

5. join(separator)
  1). 将 数组 中的 每个元素 已指定的 分隔符 连接到一起 组成一个字符串
  2). separator 非必需项 分割符,格式:字符串/正则表达式
  3). 与 split 互为反操作
  
  var arr=["text", "javaScript"];
  console.log(arr.join('/'));
  //text/javaScript
  var arr=["text", "javaScript"];
  console.log(arr.join());
  //textjavaScript
  
6. indexOf(searchvalue, fromindex)
  1). 从左向右检索 某个指定字符串值 在 原字符串 中首次出现的位置(索引)
  2). searchvalue 必需项 要检索的字符串值
  3). fromindex 非必需项 指定开始检索的位置(0~str.length-1)
  4). fromindex 若省略,则从头到尾检索原字符串
  5). fromindex 若存在,则从该所索引值开始检索
  6). 大小写敏感
  7). 若 searchvalue 在 原串中不存在,则返回 -1

  var str="javaScript";
  console.log(str.indexOf('a'));
  //1
  var str="javaScript";
  console.log(str.indexOf('s'));
  //-1
  var str="javaScript";
  console.log(str.indexOf('a', 2));
  //3

7. lastIndexOf(searchvalue, fromindex)
  1). 与 indexOf 与异曲同工之妙,开始检索方向与 indexOf 相反
  2). 从右向左开始检索 某个指定字符串值 在 原字符串 中最后出现的位置(索引)

  var str="javaScript";
  console.log(str.lastIndexOf('a'));
  //3
  var str="javaScript";
  console.log(str.lastIndexOf('s'));
  //-1
  var str="javaScript";
  console.log(str.lastIndexOf('a', 2));
  //1

js 中有关字符串的操作的更多相关文章

  1. js 中对字符串的操作

    1.split() split() 方法用于把一个字符串分割成字符串数组. 用法:stringObject.split(separator,howmany) separator:必选,类型为字符串或者 ...

  2. [转]js中confirm实现执行操作前弹出确认框的方法

    原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...

  3. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)

    2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作  阅读:次   时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ...

  4. js中构造字符串若放入Grails中gsp的<g:link>标签出错

    Grails的ajax使用json格式返回,在js中构造字符串时若放入<g:link>标签,字符串构造就会错误 如下就会发生错误,导致回调函数无法执行 function show(obj) ...

  5. javascript中对字符串的操作总结

    原文:javascript中对字符串的操作总结 没听过一句话吗?程序员的世界,不处理字符串就是处理数组.这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了 ...

  6. js中Json字符串如何转成Json对象(4种转换方式)

    js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...

  7. JS中清空字符串前后空格

    在JS 操作的时候 长期会有对字符串的操作, 但是在JS 中不像在C#中 有字符串的方法 Trim() 来对字符串进行处理 .  所以自己写一个对字符串前后清楚空格的方法还是有必要的 以免以后忘记了 ...

  8. JS 中数组字符串索引和数值索引研究

    先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "worl ...

  9. JS中实现字符串和数组的相互转化

    早上起来看了一道js的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串“ ...

随机推荐

  1. MapReduce编写的正确姿势

    先看一下目录结构 这里是job接口,负责参数的传递和定时的调用 下面的图是MR 程序相关的目录图片,其中MR的入口程序负责读取数据,并指定对应的Map.Reduce程序. 程序的流程 首先简单的说一下 ...

  2. uiautomator中文输入

    步骤一: 下载UTF7 IME的整个项目 https://github.com/sumio/uiautomator-unicode-input-helper 选择“Download ZIP”打包下载 ...

  3. XSS攻击的防御

    XSS攻击的防御 XSS 攻击是什么 XSS 又称 CSS,全称 Cross SiteScript,跨站脚本攻击,是 Web 程序中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式,所以容易被忽略 ...

  4. POJ_1733 Parity game 【并查集+离散化】

    一.题面 POJ1733 二.分析 该题与之前做过的带权并查集的唯一区别就是数组开不下.所以需要用离散化的思想,只取那些有用的点来解决该问题. 离散化其实就是把这些所有用到的点收集后,去重,再排一下序 ...

  5. 微信小程序 修改(自定义) 单选/复选按钮样式 checkbox/radio样式自定义

    参考文章: 微信小程序 修改(自定义) 单选/复选按钮样式 checkbox/radio样式自定义

  6. [转] Emmet-前端开发神器

    [From] https://segmentfault.com/a/1190000007812543 Emmet是一款编辑器插件,支持多种编辑器支持.在前端开发中,Emmet 使用缩写语法快速编写 H ...

  7. 什么是SocLib

    一.SocLib简介 SoCLib是用于多处理器片上系统(MP-SoC)虚拟原型开发的开放平台.该项目始于ANR创建的项目, 现在维持在https://www.lip6.fr/.该平台的核心是用于虚拟 ...

  8. ZABBIX 监控基本报警故障

    CPU触发器: 1)Processor load is too high on {HOST.NAME} {HOST.NAME}上处理器负载太高 触发器表达式:{Zabbix server:system ...

  9. 解决 command not found: express

    需要先执行 sudo npm install -g express-generator 再安装 sudo npm install -g express 建立项目骨架 express -e   xxx

  10. ife task0003学习笔记(五):JavaScript面向对象

    JavaScript 支持函数式编程.闭包.基于原型的继承等高级功能.在 Java 等面向对象的语言中,this 关键字的含义是明确且具体的,即指代当前对象.而在 JavaScript 中,this ...