JavaScript中的String对象方法与属性汇总

JavaScript中的String对象方法与属性汇总

String对象主要用于文本字符串处理。

本篇文章共介绍了32种方法后续如有补充会随时更新

属性

constructor

String对象的构造函数,是创建该对象的函数引用。

length

字符串长度

prototype

String对象的原型,可以在上面添加属性和方法

var a = 'abc'
a.constructor.prototype.abc = 'aaa'
a.constructor.prototype.sat = ()=> 'hello'
log(a.abc) // aaa
log(a.say()) // hello

方法

charAt()

说明:返回在指定位置的字符。

语法:str.charAt(位置)

代码:

var str = 'hello word'
log(str.charAt(1))
// 打印 e

charCodeAt()

说明:返回在指定的位置的字符的 Unicode 编码。

语法:str.charCodeAt(位置)

代码:

var str = 'hello word'
log(str.charCodeAt(1))
// 打印 101

concat()

说明:连接两个或更多字符串,并返回新的字符串。

语法:str.concat(str1, str2)

代码:

var str = 'aaa'
var str1 = 'bbb'
var str2 = 'ccc'
log(str.concat(str1, str2))
// 打印 aaabbbccc

fromCharCode()

说明:将 Unicode 编码转为字符

语法:String.fromCharCode(65)

代码:

log(String.fromCharCode(65))
// 打印 A

indexOf()

说明:返回某个指定的字符串值在字符串中首次出现的位置。

语法:str.indexOf(字符串)

代码:

var str = 'hello'
log(str.indexOf('e'))
// 打印 1

includes()

说明:查找字符串中是否包含指定的子字符串。返回true或false

语法:str.includes(字符串)

代码:

var str = 'hello word'
log(str.includes('word'))
// 打印 true

match()

说明:查找找到一个或多个正则表达式的匹配。

语法:str.match(正则)

代码:

var str = 'aabbccdd'
log(str.match(/a/g))
// 打印 ["a", "a"]
log(str.match(/a/))
// 打印 ["a", index: 0, input: "aabbccdd"]

repeat()

说明:复制字符串自身指定次数,并将它们连接在一起返回。

语法:str.repeat(复制次数);

代码:

var str = 'abc'
log(str.repeat(3))
// 打印 abcabcabc

replace()

说明:在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。

语法:str.replace(searchValue,newValue)

代码:

var str = 'aabbcc'
log(str.replace('b', 't'))
// 打印 aatbcc
log(str.replace(/b/g, 't'))
// 打印 aattcc

说明:查找与正则表达式相匹配的值的位置。

语法:str.search(字符串)

代码:

var str = 'aabbcc'
log(str.search(/c/))
// 打印 4

slice()

说明:提取字符串的片断,并在新的字符串中返回被提取的部分。

语法:slice(start, end)

代码:

var str="Hello world!"
log(str.slice(2,9))
// 打印 llo wro

split()

说明:把字符串分割为字符串数组。

语法:str.split(字符串)

代码:

var str = 'hello wrod'
log(str.split(''))
// 打印 ["h", "e", "l", "l", "o", " ", "w", "r", "o", "d"]
log(str.split('lo'))
// 打印 ["hel", " wrod"]

startsWith()

说明:查看字符串是否以指定的子字符串开头。返回ture或false

语法:str.startsWith(字符串)

代码:

var str = 'hello wrod'
log(str.startsWith('hello'))
// 打印 true
log(str.startsWith('llo'))
// 打印 false

endsWith()

说明:查看字符串是否以指定的子字符串结尾。返回ture或false

语法:str.endsWith(字符串)

代码:

var str = 'hello wrod'
log(str.startsWith('hello'))
// 打印 true
log(str.startsWith('llo'))
// 打印 false

substr()

说明:从起始索引号提取字符串中指定数目的字符。第二个参数为要截取的字符个数,如果不填默认截取到字符的结尾,不会改变源字符串。

语法:str.substr(start , length)

代码:

var str = 'hello wrod'
log(str.substr(1, 3))
// 打印 ell
log(str.substr(1))
// 打印 ello wrod

substring()

说明:提取字符串中两个指定的索引号之间的字符。截取从一个位置到另一个位置之间的字符片段。如果省略第二个参数,那么返回的子串会一直到字符串的结尾。

语法:string.substring(from, to)

代码:

var str = 'hello wrod'
log(str.substring(1))
// 打印 ello wrod
log(str.substring(1, 3))
// 打印 el

toLowerCase()

说明:把字符串转换为小写。

语法:str.toLowerCase()

代码:

var str = 'AAAbbbCCCdddEEE'
log(str.toLowerCase())
// 打印 aaabbbcccdddeee

toUpperCase()

说明:把字符串转换为大写。

语法:str.toUpperCase()

代码:

var str = 'AAAbbbCCCdddEEE'
log(str.toUpperCase())
// 打印 AAABBBCCCDDDEEE

trim()

说明:去除字符串两边的空白

语法:str.trim()

代码:

var str = '   AAAbbbCCCdddEEE   '
log(str.trim())
// 打印 AAAbbbCCCdddEEE

toLocaleLowerCase()

说明:根据本地主机的语言环境把字符串转换为小写。

语法:str.toLocaleLowerCase()

代码:

var str = 'AAAbbbCCCdddEEE'
log(str.toLocaleLowerCase())
// 打印    aaabbbcccdddeee

toLocaleUpperCase()

说明:根据本地主机的语言环境把字符串转换为大写。

语法:str.toLocaleUpperCase()

代码:

var str = 'AAAbbbCCCdddEEE'
log(str.toLocaleUpperCase())
// 打印 AAABBBCCCDDDEEE

valueOf()

说明:返回某个字符串对象的原始值。valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。

语法:str.valueOf()

代码:

var str = 'AAAbbbCCCdddEEE'
log(str.valueOf())
// 打印 AAAbbbCCCdddEEE

toString()

说明:返回一个字符串。

语法:str.toString()

代码:

var str = 'AAAbbbCCCdddEEE'
log(str.toString())
// 打印 AAAbbbCCCdddEEE

padStart()

说明:从头部填充字符串。(ES6)

语法:str.padStart(targetLength, 字符串)

代码:

var str = '123'
log(str.padStart(5, '0'))
// 打印 00123

padEnd()

说明:在尾部填充字符串。(ES6)

语法:str.padEnd(targetLength, 字符串)

代码:

var str = '123'
log(str.padEnd(5, '0'))
// 打印 12300

raw()

说明:raw()是一个模板字符串的标签函数,是用来获取一个模板字符串的原始字面量值。

callSite一个模板字符串的“调用点对象”

...substitutions任意个可选的参数,表示任意个内插表达式对应的值。templateString模板字符串。

语法:String.raw(callSite, ...substitutions)

代码:

var str = 'abcd'
log(String.raw`hel${str}lo`)
// 打印 helabcdlo

fromCodePoint()

说明:用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符。

语法:String.fromCharCode(0x20BB7)

代码:

String.fromCharCode(0x20BB7)
// "ஷ"

codePointAt()

说明:JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2个字节。能够正确处理 4 个字节储存的字符,返回一个字符的码点。

语法:str.codePointAt(length)

代码:

let  str = 'abc'
const res = str.codePointAt(0)
console.log('打印', res)

normalize()

说明:原字符与重音符号的合成,两个字符合成一个字符,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。

语法:normalize方法可以接受一个参数来指定normalize的方式,参数的四个可选值如下。

  • NFC,默认参数,表示“标准等价合成”(Normalization Form Canonical Composition),返回多个简单字符的合成字符。所谓“标准等价”指的是视觉和语义上的等价。
  • NFD,表示“标准等价分解”(Normalization Form Canonical Decomposition),即在标准等价的前提下,返回合成字符分解的多个简单字符。
  • NFKC,表示“兼容等价合成”(Normalization Form Compatibility Composition),返回合成字符。所谓“兼容等价”指的是语义上存在等价,但视觉上不等价,比如“囍”和“喜喜”。(这只是用来举例,normalize方法不能识别中文。)
  • NFKD,表示“兼容等价分解”(Normalization Form Compatibility Decomposition),即在兼容等价的前提下,返回合成字符分解的多个简单字符。

代码:


trimStart()

说明:消除字符串头部的空格。

语法:str.trimStart()

代码:

let  str = '   abc   '
const res = str.trimStart()
console.log('打印', res)
// 打印 'abc   '

trimEnd()

说明:消除尾部的空格。

语法:str.trimEnd()

代码:

let  str = '   abc   '
const res = str.trimEnd()
console.log('打印', res)
// 打印 '   abc'

matchAll()

说明:方法返回一个正则表达式在当前字符串的所有匹配.

语法:str.matchAll(RegExp)

代码:

let  str = 'hello word'
const res = str.matchAll(/b/g)
console.log('打印', res)
// 打印 Object [RegExp String Iterator] {}
原文地址:https://www.cnblogs.com/liea/p/12512365.html