[TOC]
JavaScript 字符串方法和属性
| 方法 | 描述 |
|---|---|
| length | 返回字符串中的字符数。 |
| prototype | 允许您向对象添加属性和方法。 |
| constructor | 返回字符串的构造函数。 |
| indexOf() | 返回值在字符串中第一次出现的位置。 |
| lastIndexOf() | 返回值在字符串中最后一次出现的位置。 |
| includes() | 返回字符串是否包含指定值。 |
| search() | 检索字符串中与正则表达式匹配的子串。 |
| match() | 在字符串中搜索值或正则表达式,并返回匹配项。 |
| toLowerCase() | 返回转换为小写字母的字符串。 |
| toUpperCase() | 返回转换为大写字母的字符串。 |
| toLocaleLowerCase() | 使用主机的语言环境返回转换为小写字母的字符串。 |
| toLocaleUpperCase() | 使用主机的语言环境返回转换为大写字母的字符串。 |
| charAt() | 返回指定位置处的字符。 |
| charCodeAt() | 返回指定位置处字符编码。 |
| codePointAt() | 返回字符串中索引(位置)处的 Unicode 值。 |
| fromCharCode() | 将 Unicode 值作为字符返回。 |
| concat() | 返回两个或多个连接的字符串。 |
| endsWith() | 返回字符串是否以指定值结尾。 |
| repeat() | 返回拥有多个字符串副本的新字符串。 |
| replace() | 在字符串中搜索值或正则表达式,并返回替换值的字符串。 |
| slice() | 提取字符串的一部分并返回新字符串。 |
| split() | 将字符串拆分为子字符串数组。 |
| startsWith() | 检查字符串是否以指定字符开头。 |
| substr() | 从字符串中抽取子串,该方法是 substring() 的变种。 |
| substring() | 从字符串中抽取子串。 |
| toString() | 将字符串或字符串对象作为字符串返回。 |
| trim() | 返回删除了空格的字符串。 |
| trimEnd() | 返回从末尾删除空格的字符串。 |
| trimStart() | 返回从开头删除空格的字符串。 |
| valueOf() | 返回字符串或字符串对象的原始值。 |
| localeCompare() | 使用基于本地的顺序来比较字符串。 |
length、indexOf()、lastIndexOf()、includes()
let str = "HELLO WORLD";
let l = str.length; // 11
let s = str.indexOf("L"); // 2
let s = str.lastIndexOf("L"); // 9
let str = "HELLO WORLD new str1";
let b = str.includes("WORLD"); // true
// 从下标 12 开始
let b = str.includes("new", 12); // true
验证开头结尾
startsWith()
- 字符串是否以xxx开头
let str = "Hello world, welcome to the universe."
let s = str.startsWith("Hello") //true
let s = str.startsWith("welcome",13) //true
endsWith()
- 字符串是否以xxx结尾
let str = "HELLO WORLD new str1";
let b = str.endsWith("WORLD"); // false
// 前 11 个字符是否以 "WORLD" 结尾
let b = str.endsWith("WORLD", 11); // true
search()、match()
let str = "HELLO WORLD WORLD new str1";
let sl = str.match(/WORLD/g); // [ WORLD,WORLD ]
let sl = str.match(/hhh/g); // null
let str = "HELLO WORLD WORLD new str1";
let i = str.search(/WORLD/g); // 6
search() 与 indexOf() 的区别
search() 不能采用起始位置参数。
indexOf() 方法无法搜索正则表达式。
search() 与 match() 的区别
search() 方法返回第一个匹配的位置。
match() 方法返回匹配数组。
字母 转 大小写
- toLowerCase()
- toUpperCase()
- toLocaleLowerCase()
- toLocaleUpperCase()
let str = "HELLO WORLD!";
let s = str.toLowerCase(); // hello world!
let s = str.toUpperCase(); // HELLO WORLD!
let s = str.toLocaleLowerCase(); // hello world!
let s = str.toLocaleUpperCase(); // HELLO WORLD!
替换
replace()
- 替换字符串
let str = "Hello World!"
let s = str.replace("World", "red"); // Hello red!
let s = str.replace(/o/gi, "red"); // Hellred Wredrld!
截取字符串
slice(start, end)
// [ 包含 start 下标, 不包含 end 下标 )
let str = "Hello World!"
let s = str.slice(3,5) // lo
let s = str.slice(3) // lo world!
let s = str.slice(-5,-2) // orl
substr(start, end)
let str = "Hello World!"
// [ 开始 start 下标, 提取 num 个字符 ]
let s = str.substr(1, 4) // ello
let s = str.substr(1) // ello world!
substring(start, end)
let str = "Hello World!"
// [ 包含 start 下标, 不包含 end 下标 ]
let s = str.substring(1, 4) // ell
// 如果 start 大于 end,则交换参数
let s = str.substring(4, 1) // ell
// 从位置 1 开始
let s = str.substring(1) // ello world!
// 如果 "start" 小于 0,它将从索引 0 开始
let s = str.substring(-3) // Hello world!
拼接、复制
concat()
- 拼接字符串
let str = "HELLO WORLD";
let s = str.concat(" new", " str1"); // HELLO WORLD new str1
repeat()
- 复制字符串
let str = "Hello World!"
let s = str.repeat(2) // Hello World!Hello World!
let s = str.repeat(3) // Hello World!Hello World!Hello World!
转数组
split()
以某字符将字符串分割成数组
let str = "Hello World!"
let s = str.split(" ") // ["Hello","World!"]
let str = "Hello-new-World!"
let s = str.split("-") // ["Hello","new","World!"]
去空
- trim()
- trimEnd()
- trimStart()
let str = " Hello World! "
let s = "^" + str.trim() + "$" // ^Hello World!$
let s = "^" + str.trim() + "$" // ^ Hello World!$
let s = "^" + str.trim() + "$" // ^Hello World! $
字符码
- charAt()
- charCodeAt()
- codePointAt()
- fromCharCode()
let str = "HELLO WORLD";
let s = str.charAt(0); // H
let s = str.charCodeAt(0); // 72
let s = str.codePointAt(0); // 72
let s = str.fromCharCode(72); // H
toString()
let num = 123
let s = num.toString() // "123"
valueOf()
let str = "Hello World!"
let s = str.valueOf() // "Hello World!"
localeCompare()
let str1 = "str";
let str2 = "str";
let n = str1.localeCompare(str2); // 0 表示完全相等
let str1 = "ab";
let str2 = "cd";
let n = str1.localeCompare(str2); // -1 如果str1在str2之前排序
let str1 = "cd";
let str2 = "ab";
let n = str1.localeCompare(str2); // 1 如果str1在str2之后排序