目录
String 对象方法
charAt()
描述: 返回在指定位置的字符。
var str = "HELLO WORLD";
console.log(str.charAt(2))
//L
charCodeAt()
描述: 返回在指定的位置的字符的 Unicode 编码。
var str = "HELLO WORLD";
console.log(str.charCodeAt(2))
//68
fromCharCode()
描述: 将 Unicode 编码转为字符。
console.log(String.fromCharCode(65))
//A
concat()
描述: 连接两个或更多字符串,并返回新的字符串。
var str = "HELLO ";
console.log(str.concat('WORLD','!'))
//HELLO WORLD!
indexOf()
描述: 返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到匹配的字符串则返回 -1。
var str = "HELLO WORLD";
console.log(str.indexOf('L'))
//2
lastIndexOf()
描述: 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置,如果没有找到匹配的字符串则返回 -1。
var str = "HELLO WORLD";
console.log(str.lastIndexOf('L'))
//9
includes()
描述:查找字符串中是否包含指定的子字符串,返回true/false。
语法:string.includes(searchvalue, start)
start为开始位置,可选项
var str = "HELLO WORLD";
console.log(str.includes('L'))
//true
console.log(str.includes('H',4))
//false
match()
描述:查找找到一个或多个正则表达式的匹配。
如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
var str = "The rain in SPAIN stays mainly in the plain"; ;
console.log(str.match(/ain/gi)) //g为全局匹配.i为忽略大小写
//ain,AIN,ain,ain
repeat()
描述: 复制字符串指定次数,并将它们连接在一起返回。
var str = "The"; ;
console.log(str.repeat(2))
//TheThe
console.log(str.repeat(0))
//
replace()
描述:在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。
该方法不会改变原始字符串。
可用正则进行匹配替换。
var str = "Visit Microsoft! Visit Microsoft!";
console.log(str.replace("Microsoft","Runoob"))
//Visit Runoob!Visit Microsoft!
search()
描述:检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
如果没有找到任何匹配的子串,则返回 -1。
可用正则进行检索。
var str = "Visit Microsoft! Visit Microsoft!";
console.log(str.search("Microsoft"))
//6
注意区分indexOf()与search()的用法
split()
描述:把字符串分割为字符串数组。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
该方法不会改变原始字符串。
语法:string.split(separator,limit)
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
var str = "Hello world!";
console.log(str.split(' '))
//["Hello", "world!"]
console.log(str.split(''))
//["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]
startsWith()
描述:查看字符串是否以指定的子字符串开头。
语法:string.startsWith(searchvalue, start)
startsWith() 方法对大小写敏感。
var str = "Hello world!";
console.log(str.startsWith('Hello'))
//true
console.log(str.startsWith('aaa'))
//false
补充:startsWith()对应相反的是endsWith()
这两个方法都支持第二个参数,表示开始搜索的位置。
使用第二个参数n时,endsWith的行为有所不同。它针对前n个字符,而 startsWith() 对从第n个位置直到字符串结束。
slice()
描述:slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
该方法不会改变原始字符串。
可用正则进行匹配替换。
提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
var str = "Hello world!";
console.log(str.slice(1,6))
//ello w
console.log(str.slice(-1))
//!
substr()
描述:从起始索引号提取字符串中指定数目的字符。
语法:string.substr(start,length)
var str = "Hello world!";
console.log(str.substr(2,3))
//llo
substring()
描述:提取字符串中两个指定的索引号之间的字符。
语法:string.substring(from, to)
var str = "Hello world!";
console.log(str.substring(2,7))
//llo w
slice,substr和substring的区别
var str = "Hello world!";
console.log(str.substring(2,7)) //llo w
console.log(str.substr(2,7)) //llo wor
console.log(str.slice(2,7)) //llo w
注意substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。
var str = "Hello world!";
console.log(str.substring(7,2)) //llo w
当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。
var str = "Hello world!";
console.log(str.substring(-2)) //Hello world!
console.log(str.substr(-2)) //d!
console.log(str.slice(-2)) //d!
注意:IE对substr接收负值的处理有错,它会返回原始字符串。
trim()
描述: 去除字符串两边的空白
trim() 方法不会改变原始字符串。
var str = " Hello ";
console.log(str.trim())
//Hello
补充:es2019 对字符串实例新增了 trimStart() 和 trimEnd() 这两个方法
trimStart() 消除字符串头部的空格, trimEnd() 消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。
toLowerCase()
描述: 把字符串转换为小写。
var str = "Hello world!";
console.log(str.toLowerCase())
//hello world!
toUpperCase()
描述: 把字符串转换为小写。
var str = "Hello world!";
console.log(str.toUpperCase())
//HELLO WORLD!
padStart(),padEnd()
描述:ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
'x'.padStart(5, '0') // '0000x'
'x'.padStart(4) // ' x' 第二个参数为空,则填充空格
'x'.padEnd(5, '01') // 'x0101'
'x'.padEnd(4, '01234') // 'x012'
//如果补全的字符串与原字符串两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。
本文章是本人学习了解所写,如有错误欢迎指出。
引用:https://www.runoob.com/jsref/jsref-obj-string.html