vlambda博客
学习文章列表

HTML_JavaScript -- 字符串常用操作方法

字符串是一个包装类型:

  1. 如果按照数组的操作方式操作,可以包装自己为一个伪数组

  2. 有 length 属性 ,可以使用 "[ ]" 语法操作,但是不能使用数组的操作方法

  3. 不能通过修改 length 属性来修改字符串的长度, 也不能通过给索引下标赋值来修改字符串的值



常用方法 :



-->str.indexOf( ... ) 

  • 作用 : 

    1. 查找某个字串,是否是 str 的内容

    2. 查询首次出现的位置的索引

  • 参数 :

    • 查询的字符串

    • 区分大小写

  • 返回值 : 

    • 如果有匹配的元素 , 返回的就是对应的索引

    • 否则 , 返回 -1


var str = "wertyu"
console.log(str.indexOf("w") // 0console.log(str.indexOf("1"// -1



-->str.lastIndexOf(..)

  • 作用: 

    1. 查询某个字符串,是否是 str 的内容

    2. 查询某个字符串,最后一次出现位置的索引

  • 参数 : 

    • 查询的字符

    • 区分大小写

  • 返回值:

    • 如果有匹配的元素 , 返回的就是对应的索引

    • 否则 , 返回 -1


var str = "wewrtyu"
console.log(str.lastIndexOf("w"// 2console.log(str.lastIndexOf("1"// -1





-->str.substring(startIndex, endIndex )

  • 作用: 截取字符串

  • 参数:

    • stratIndex : 开始位置的索引值

    • endIndex : 结束位置的索引值

      • 如果没写第二个参数,则截取至原串的最后一个字符

      • 如果第二个参数是负数,则从起始字符位置开始想字符串起始截取,但是不包括第一个参数对应的字符

    • 截取的子串,包括第一个参数,但是不包括第二个参数对应的字符

  • 返回值: 就是截取的子串


var str = "hello"
var newStr = str.substring(1,4)
console.log(newStr) //ell





-->str.substr( startIndex , count)

  • 作用 : 截取字符串

  • 参数 : 

    • startindex  : 

      • 截取字符串 的起始下标

      • 如果是负数,就是从倒数第几个字符串开始截取

    • count :

      • 截取字符串的字符个数

      • 如果不写第二个参数,就截取到末尾

      • 不能取负值,取负值返回一个空的字符串

  • 返回值 : 截取的字符串 内容


var str = "hello"
var newStr = str.substr(1,3) //使用substr 来截取字符串
console.log(str.substr(-2))  // loconsole.log(newStr) // ell





-->str.replace(oldStr , replaceStr)

  • 作用 : 

    • 字符串内容替换函数

    • 默认执行懒惰模式,只替换第一个复合要求的字符串

  • 参数 : 

    • oldStr : 要被的旧的内容

    • replaceStr : 用来替换的新的内容

  • 返回值 : 替换后的新的字符串, 不会改变原有的字符串


/* 给一段文章中的全部指定词语进行过滤比如我要过滤 "SM" var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd'需要结果 asdasd**asdasdasd**sdasdasd** */
var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd';while (str.indexOf('SM') !== -1) { str = str.replace('SM', '**');}console.log(str) //asdasd**asdasdasd**sdasdasd**





-->str.splite(symbol , count)

  • 作用 : 字符串转化位数组

  • 参数 : 

    • symbol : 间隔符号

    • count : 

      • 转化数组的单元个数

      • 不写 , 就是按照间隔符号转化

  • 返回值 : 分割立候组成的新的数组 , 不会改变原来的字符串


var str = "2019-12-17"var res = str.split("-"2)
console.log(res) // ["2019", "12"]


var str = "2019-12-17"var res = str.split("-")
console.log(res) // ["2019", "12", "17"]





-->str.toUpperCase()  -- str.toLowerCase()

  • 作用 : 将str 全部转化成 大写 或者 小写


var str = "ssssswww"var res = str.toLocaleUpperCase()
console.log(res) // "SSSSSWWW"


var str = "SSSSSWWW"var res = str.toLowerCase()
console.log(res) // "ssssswww"





-->str.charAt( index )

  • 作用 : 通过索引返回对应的字符

  • 参数 : 索引

  • 返回值 : 对应位置的字符, 不会改变原有的字符串


var str = "Jerry"
console.log(str.charAt(0)) // "J"





-->str.charCodeAt( index)

  • 作用 : 通过下标返回对应位置的 unicode 编码


var str = "Jack"
var index = str.charCodeAt(0)
console.log(index) // 74,,因为 J 在 Unicode 对照表里面存储的是 74 , 所以返回的是 74




ASCII 字符集