首先来看一下有哪些方法(str代表需要操作的字符串)

    作用 方法名 返回值 说明 补充
    查找 str.indexOf(A,i) 下标 查找str首次出现字符串A的索引
    index代表开始查找的位置
    下标从0开始
    未找到则返回-1
    不支持正则表达式
    查找 str.lastIndexOf(A,i) 下标 查找str最后一次出现字符串A的索引 同上
    查找 str.search(A) 下标 查找str出现的索引 支持正则表达式
    提取 str.slice(start,end)
    str.slice(start)
    提取的字符串 提取str[start,end)的值,
    只传一个参数则从start取到结尾
    取开始不取结束
    接受负参数
    提取 str.substring(start,end) 提取的字符串 同上 不接收负参数
    提取 str.substr(start,len)
    str.substr(start)
    提取的字符串 提取str中从start开始长度为length的值,只传一个参数则从start取到结尾 第二个参数为要提取的长度
    接受负参数
    替换 str.replace(ori,tar) 替换后的字符串 str中的ori替换为tar ori支持正则
    转大写 str.toUpperCase() 转换后的字符串 str转为大写
    转小写 str.toLowerCase() 转换后的字符串 str转为小写
    拼接 str.concat(…para) 拼接后的字符串 str拼接para内容 …不确定几个参数
    清除两端空白 str.trim() 清除后的字符串 清除str两端的空白字符 IE8以下不支持
    提取 str.charAt(index) 提取的字符 提取str中下标为index的字符 不支持负参数
    提取 str.charCodeAt(index) unicode 提取str中下标为index字符的unicode
    转换为数组 str.split(sign) 分割后的数组 strsign分割,转为数组 省略参数则数组中第0位为该字符串
    参数为””则字符串以单个字符划分
    匹配正则 str.match(reg) 匹配结果的数组 str进行reg规则匹配
    长度 str.length (非方法) 获取字符串长度 属性


    示例字符串
    var str = "关关雎鸠,在河之洲,窈窕淑女,君子好逑"

    1、indexOf()

    • 查找”关”字

    var res = str.indexOf("关") //res结果为:0

    • 查找”亮”字

    var res = str.indexOf("亮") //res结果为:-1

    2、lastIndexOf()

    • 查找”关”字

    var res = str.lastIndexOf("关") //res结果为:1

    3、search()

    • 查找”关”字

    var res = str.search("关") //res结果为:0

    • 按正则查找

    var res = str.search(/,/) //res结果为:4
    注意:search也是从左开始查询首次出现

    4、slice()

    • 提取”在河之洲”

    var res = str.slice(5,9) //res结果为:"在河之洲"

    • 提取第5位开始之后的所有

    var res = str.slice(5) //res结果为:"在河之洲,窈窕淑女,君子好逑"

    • 提取后9位

    var res = str.slice(-9) //res结果为:"窈窕淑女,君子好逑"
    注意:接受负参数

    5、substring()与slice()几乎一样,唯一的区别是不接受负参数,参照上面的例子即可

    6、substr()

    • 提取”在河之洲”

    var res = str.substr(5,4) //res结果为:"在河之洲"

    • 提取第5位开始之后的所有

    var res = str.substr(5) //res结果为:"在河之洲,窈窕淑女,君子好逑"

    • 提取后4位

    var res = str.substr(-4,4) //res结果为:"君子好逑"
    注意:接受负参数

    7、replace()

    • 将”在河之洲”替换为”天天向上”

    var res = str.replace("在河之洲","天天向上")
    //res结果为:"关关雎鸠,天天向上,窈窕淑女,君子好逑"

    • 将”,”替换为”、”

    var res = str.replace("," , "、")
    //res结果为:"关关雎鸠、天天向上,窈窕淑女,君子好逑"
    注意:这里只改变第一次出现的”,”而不会替换所有
    要想替换所有需要使用正则表达式,请看下面例子

    • 将所有”,”替换为”、”

    var res = str.replace(/,/g , "、")
    //res结果为:"关关雎鸠、天天向上、窈窕淑女、君子好逑"

    8、toUpperCase()

    • 将”kfc”转大写

    var res = "kfc".toUpperCase()//res结果为:"KFC"

    9、toLowerCase()

    • 将”UfO”转小写

    var res = "Ufo".toLowerCase()
    //res结果为:"ufo"

    10、concat()

    • 给str后加上”天天向上”

    var res = str.concat(",天天向上")
    //res结果为:"关关雎鸠,在河之洲,窈窕淑女,君子好逑,天天向上"

    • 给str后分别加”好好学习”,”天天向上”

    var res = str.concat(",好好学习",",天天向上")
    //res结果为:"关关雎鸠,在河之洲,窈窕淑女,君子好逑,好好学习,天天向上"

    11、trim()

    • 清除” 两边有空 “两边的空白

    var res = " 两边有空 ".trim();//res结果:"两边有空"
    注意:IE8及以下版本不支持trim,可以用replace代替,示例如下:
    var res = " 两边有空 ".replace(/ /g,"") //res结果:"两边有空"

    12、charAt()

    • 提取下标为6的字符

    var res = str.charAt(6) //res结果为:"河"

    13、charCodeAt()

    • 提取下标为6的字符unicode编码

    var res = str.charCodeAt(6) //res结果为:27827

    14、split()

    • 通过”,”将str分割为数组

    var res = str.split(",") //res结果为:["关关雎鸠","在河之洲","窈窕淑女","君子好逑"]

    • 将str分割为单个字符数组

    var res = str.split("") //res结果为:["关","关","雎","鸠",",","在","河","之","洲",",","窈","窕","淑","女",",","君","子","好","逑"]

    • 将str转为数组

    var res = str.split() //res结果为:["关关雎鸠,在河之洲,窈窕淑女,君子好逑"]

    15、match()

    • 匹配”关”字

    var res = str.match(/关/g) //res结果为:["关","关"]
    16、length

    • 获取str长度

    var res = str.length //res结果为:19

    常用的操作都列举出来了,以上仅代表个人的理解,欢迎各位玩家留言指正