1. toUpperCase()/ toLowerCase() 字符切换大小写
alert( 'Interface'.toUpperCase() ); // INTERFACE
alert( 'Interface'.toLowerCase() ); // interface
2.str.indexOf(substr,pos),它从给定位置 pos
开始,在 str
中查找 substr
,如果没有找到,则返回 -1
,否则返回匹配成功的位置。
let str = 'Widget with id';
alert( str.indexOf('Widget') ); // 0,因为 'Widget' 一开始就被找到
alert( str.indexOf('widget') ); // -1,没有找到,检索是大小写敏感的
alert( str.indexOf("id") ); // 1,"id" 在位置 1 处(……idget 和 id)
alert( str.indexOf('id', 2) ) // 12
3.str.includes, str.startsWith, str.endsWith
更现代的方法 str.includes(substr, pos) 根据 str
中是否包含 substr
来返回 true/false
。
//如果我们需要检测匹配,但不需要它的位置,那么这是正确的选择:
alert( "Widget with id".includes("Widget") ); // true
alert( "Widget".includes("id", 3) ); // false, 从位置 3 开始没有 "id"
方法 str.startsWith 和 str.endsWith 的功能与其名称所表示的意思相同:
alert( "Widget".startsWith("Wid") ); // true,"Widget" 以 "Wid" 开始
alert( "Widget".endsWith("get") ); // true,"Widget" 以 "get" 结束
4.获取字符串的三种方法(substr,substring,slice)
str.slice(start [, end])
返回字符串从 start
到(但不包括)end
的部分。
alert( 'string'.slice(0, 1) ); // 's',从 0 到 1,但不包括 1,所以只有在 0 处的字符
如果没有第二个参数,slice
会一直运行到字符串末尾.
start/end
也有可能是负值。它们的意思是起始位置从字符串结尾计算:
// 从右边的第四个位置开始,在右边的第一个位置结束
alert( "stringify".slice(-4, -1) ); // 'gif'
str.substring(start [, end])
返回字符串从 start
到(但不包括)end
的部分。
这与 slice
几乎相同,但它允许 start
大于 end
。
let str = "stringify";
// 这些对于 substring 是相同的
alert( str.substring(2, 6) ); // "ring"
alert( str.substring(6, 2) ); // "ring"
// ……但对 slice 是不同的:
alert( str.slice(2, 6) ); // "ring"(一样)
alert( str.slice(6, 2) ); // ""(空字符串)
str.substr(start [, length])
返回字符串从 start
开始的给定 length
的部分。
与以前的方法相比,这个允许我们指定 length
而不是结束位置:
let str = "stringify";
alert( str.substr(2, 4) ); // 'ring',从位置 2 开始,获取 4 个字符
第一个参数可能是负数,从结尾算起:
let str = "stringify";
alert( str.substr(-4, 2) ); // 'gi',从第 4 位获取 2 个字符
我们回顾一下这些方法,以免混淆:
方法 | 选择方式…… | 负值参数 |
---|---|---|
slice(start, end) | 从 start 到 end (不含 end ) | 允许 |
substring(start, end) | 从 start 到 end (不含 end ) | 负值被视为 0 |
substr(start, length) | 从 start 开始获取长为 length 的字符串 | 允许 start 为负数 |
5.str.trim()
去掉字符串前后空格。
6. str.replace() 替换
语法:str.replace(regexp|string, newString|function)
7.string.match(regexp)
返回一个包含匹配结果的数组。数组的内容取决于 regexp 是否设置了 “g” 属性,有 g 跟 没 g 返回结果完全不一致。
'Abcab'.match(/ab/i)
// ['Ab', index: 0, input: 'Abcab', groups: undefined]
'Abcab'.match(/ab/ig)
// ['Ab', 'ab']
8.String.charCodeAt(index)
index:在string中,下标index的字符
返回指定位置的字符的 Unicode 编码
var str = "abc";
var m = str.charCodeAt(1); // 'b'
console.log(m) // 98
// 单个字符同样适用
var str2 = "a";
var n = str2.charCodeAt(0); // 'a'
console.log(n) // 97
9.string.fromCharCode(number)
接受一个指定的 Unicode 值,然后返回一个字符
var str = String.fromCharCode(97)
console.log(str) // 'a'
var str2 = String.fromCharCode(72,69,76,76,79)
console.log(str2) // 'HELLO'