字符串的常用方法
1. charAt
- 语法: 变量/字符串.charAt(下标)
- 作用: 根据下标去字符串中寻找对应的值
- 返回值: 如果字符串中有对应的下标那么返回对应的值, 如果没有返回一个空字符
var str = 'QF123'
01234
var res = str.charAt(40)
console.log(str[0]) // Q
console.log('返回值: ', res) // Q
2. charCodeAt
- 语法:变量/字符串.charCodeAt(下标)
- 作用:根据下标去字符串中寻找对应的值,然后找到这个值对应的unicode编码
- 返回值:如果找到返回ubicode编码,如果找不到返回NaN
var str = 'QF123'
var res = str.charCodeAt(40) // NaN
var res = str.charCodeAt(0) // 81
console.log(res)
3.toLowerCase
- 语法:变量/字符串.toLowerCase()
- 作用:把字符串中所有的字母转换为小写
- 返回值:转换后的字符串
4.toUpperCase
- 语法:变量/字符串.toUpperCase()
- 作用:把字符串中的所有字母转换为大写
- 返回值:转换后的字符串
var str = 'abcQWE'
console.log('原字符串: ', str)
console.log('toLowerCase: ', str.toLowerCase())
console.log('toUpperCase: ', str.toUpperCase())
console.log('原字符串: ', str)
5.substr
- 语法:变量/字符串.substr(开始下标,多少个)
- 作用: 复制指定区域的字符串
- 返回值:复制到的内容
6.substring
- 语法:变量/字符串.substring(开始下标,结束下标)
- 作用: 复制指定区域的字符串
- 返回值:复制到的内容
- 注意参数包前不包后,参数可以忽略不写
var str = 'qwertyuiop'
console.log(str.substr(2, 3)) // 从[2]开始, 截取 3 个: ert
console.log(str.substring(2, 3)) // 从[2]开始, 到 [3] 结束: e
console.log(str.substring(6, -1)) // 参数中不推荐写 负数
console.log(str.substring(6)) // 从[6]开始, 到字符串末尾结束
console.log(str.substring()) // 复制整个字符串
7.slice
- 语法:变量/字符串.slice(开始下标,结束下标)
- 作用:复制指定区域的字符串
- 返回值:复制到的内容 -注意:
参数包前不包后;参数可以省略不写;参数可以有负数
var str = 'qwertyuiop'
console.log(str.slice(2, 3)) // e
console.log(str.slice(2)) // ertyuiop
console.log(str.slice()) // qwertyuiop
console.log(str.slice(5, -1)) // yuio
8.concat
- 语法:变量/字符串.concat(数据1,数据2,数据3,数据4,数据5,......)
- 作用:合并数据到执行的字符串中
- 返回值:合并后的一个新字符串
var str = 'QWE123Q'
console.log(str.concat('!@#', 'asd', '+-*/'))
console.log('方法使用完毕后的源字符串: ', str)
9.indexOf
- 语法:变量/字符串.indexOf('要查询的数据', 开始查询的位置(可以不传, 默认为0))
- 作用: 帮我们去字符串中查询是否有这个数据
- 返回值: 如果找到返回对应的下标, 如果找不到返回 -1
var str = 'QWE123Q'
console.log(str.indexOf('@')) // -1
console.log(str.indexOf('Q')) // 0
console.log(str.indexOf('Q', 3)) // 6
10.lastIndexOf
- 语法: 变量/字符串.lastIndexOf('要查询的数据', 开始查询的位置(可以不传, 默认为字符串最后一个下标))
- 作用: 帮我们去字符串中查询是否有这个数据
- 返回值: 如果找到返回对应的下标, 如果找不到返回 -1
var str = 'QWE123Q'
console.log(str.lastIndexOf('@')) // -1
console.log(str.lastIndexOf('Q')) // 6
console.log(str.lastIndexOf('Q', 3)) // 0
11.split
- 语法: 变量/字符串.split('分隔符')
- 作用: 根据我们传递的分隔符, 将字符串做一个拆分
- 返回值: 拆分好的字符串, 组成的一个数组
- 注意: 如果传递的分隔符是一个空字符串, 那么会将整个字符串按照每一个字符, 拆分开, 放在一个数组中
var str = 'value=QF001=QF002=QF003'
console.log(str.split('=')) // ['value', 'QF001', 'QF002', 'QF003']
console.log(str.split('@')) // ['value=QF001=QF002=QF003']
console.log(str.split()) // ['value=QF001=QF002=QF003']
console.log(str.split('')) // ['v', 'a', 'l', 'u', 'e', '=', 'Q', 'F', '0', '0', '1', '=', 'Q', 'F', '0', '0', '2', '=', 'Q', 'F', '0', '0', '3']
console.log(str.split(' '))
console.log(str.split('&'))
12 trim
- 去掉字符串两边的空格
var str1 = ' 1 2 3 '
var str2 = '123'
console.log('源字符串' + str2)
console.log('源字符串' + str1)
console.log('trim' + str1.trim()) // 去掉了字符串两边的空格
13.trimStart trimLeft
- 去掉了字符串左边的空格
var str1 = ' 1 2 3 '
var str2 = '123'
console.log('源字符串' + str2)
console.log('源字符串' + str1)
console.log('trimStart' + str1.trimStart()) // 去掉了字符串左边的空格
console.log('trimLeft' + str1.trimLeft()) // 去掉了字符串左边的空格
14.trimEnd trimRight
- 去掉了字符串右边的空格
var str1 = ' 1 2 3 '
var str2 = '123'
console.log('源字符串' + str2)
console.log('源字符串' + str1)
console.log('trimEnd' + str1.trimEnd()) // 去掉了字符串右边的空格
console.log('trimRight' + str1.trimRight()) // 去掉了字符串右边的空格
15.includes
- 语法: 语法: 变量/字符串.includes('要查询的一些字符')
-
作用: 用于判断字符串中是否包含一段字符 -
返回值: true/false
var str = 'qwe123!@#$%^&*()asd'
console.log(str.includes('QF001')) // false
console.log(str.includes('!@#$%^&*')) // true
console.log(str.includes('qweasd')) // false
console.log(str.includes('qwe123')) // true
16.startsWith
- 语法: 变量/字符串.startsWith('要查询的一些字符')
- 作用: 用于判断字符串开头是否为指定的字符
-
返回值: true/false
var str = 'qwe123!@#$%^&*()asd'
console.log(str.startsWith('q')) // true
console.log(str.startsWith('qwe123')) // true
console.log(str.startsWith('qweasd')) // false
17.endwith
- 语法: 变量/字符串.endsWith('要查询的一些字符')
- 作用: 用于判断字符串结尾是否为指定的字符
- 返回值: true/false
var str = 'qwe123!@#$%^&*()asd'
console.log(str.endsWith('asd')) // true
console.log(str.endsWith('asdrtyuiop')) // false
18.repalce
- 语法: 变量/字符串.repalce('查找的字符串', '要替换的内容')
- 作用: 去字符串中找到一个指定的内容, 然后将新的内容替换过去
- 返回值: 修改好的字符串
var str = 'QF001QF001QF001QF001QF001QF001QF001'
var res = str.replace('QF', '***')
console.log(res)
替换违禁词案例
/**
* 1. var str = 'XXX123XXX456XXX'
* 这个字符串中, XXX 是一个违禁词, 我们需要将 XXX 替换为 **
* 得到的内容: **123**456**
*
*
* 2. var str = 'XXX123YYY456ZZZ'
* 这个字符串中, XXX YYY ZZZ 全都是违禁词, 我们需要将 他们三个 替换为 **
* 得到的内容: **123**456**
*/
//1
var = 'XXX123XXX456XXX'
while(str.includes('XXX')){
str = str.replace('XXX','**')
}
console.log(str)
//2
var str = 'XXX123YYY456ZZZ'
var arr =['XXX','YYY','ZZZ']
arr.forEach(function(item)){
while(str.include(item)){
str=str.replace(item,'**')
}
})
console.log(str)