javascript
字符串的方法
String对象方法
charAt
返回在指定位置的字符串。
"123".charAt(1) // 2
"123".charAt(-1) // ''
"123".charAt() // ''
charCodeAt
返回在指定位置的字符串的Unicode编码。
"123".charAt(1) // 50
"123".charAt(-1) // NaN
codePointAt
查看字符串的Unicode代码点,会返回第一个字符的代码点
"a".codePointAt() // 97
"abc".codePointAt() // 97
localeCompare
第一个参数,对比字符串,第二个参数可选,字符串或字符串数组(符合BCP47),第三个参数可选,一些配置项,比如地域匹配算法localeMatcher,usage指定比较目标是sort或search等,详细看MDN。
返回数字表示对比字符串在参考字符串的位置,大于0,参考字符串大,小于0,对比字符串大,等于0,相同
var a = "abc";
var b = "bcd";
a.localeCompare(b) // -1
b.localeCompare(a) // 1
a.localeCompare(b, ["abc", "adc", "bcd"]) // -1
a.localeCompare(b, ["abc", "adc", "bcd"], { usage: "search" }) // -1
后两个参数暂时没有理解了含义
可以用来进行字符串数组排序
var a = ["aw", "fg", "av", "sf"]
a.sort(function (a, b) {
return a.localeCompare(b)
})
a // ['av', 'aw', 'fg', 'sf']
padEnd
指定长度并使用一个字符串从另一个字符串的右侧开始填充,第一个参数为长度,第二个参数为要填充进去的字符串
"abc".padEnd(8) // 'abc '
"abc".padEnd(8, "123") // 'abc12312'
"abc".padEnd(8, "12345678") // 'abc12345'
padStart
指定长度并使用一个字符串从另一个字符串的左侧开始填充,第一个参数为长度,第二个参数为要填充进去的字符串
"abc".padStart(8) // ' abc'
"abc".padStart(8, "123") // '12312abc'
"abc".padStart(8, "12345678") // '12345abc'
concat
拼接一个或多个字符串,并返回新的字符串。
"123".concat("3", "123", "zhangsan") // '1233123zhangsan'
startWith
检验是否以指定字符串结尾,区分大小写
'1233123zhangsan'.startWith("1") // true
'1233123zhangsan'.startWith("N") // false
endsWith
检验是否以指定字符串结尾,区分大小写
'1233123zhangsan'.endsWith("n") // true
'1233123zhangsan'.endsWith("N") // false
'1233123zhangsan'.endsWith("1") // false
fromCharCode
将Unicode编码转为字符串
String.fromCharCode(72, 69, 76, 76, 79) // HELLO
indexOf
查找字符串首次出现的位置(区分大小写),第一个参数要查找的元素,第二个是查找的起始位置
"HELLO".indexOf("e") // -1
"HELLO".indexOf("E") // 1
"HELLO".indexOf("E", 1) // 1
"HELLO".indexOf("E", 2) // -1
lastIndexOf
从后向前查找字符串首次出现的位置(区分大小写),第一个参数要查找的元素,第二个是查找的起始位置,返回值仍然是从0开始计算
"HELLO".lastIndexOf("e") // -1
"HELLO".lastIndexOf("E") // 1
includes
检索是否包含指定元素,也可以指定起始位置
"HELLO".lastIndexOf("E") // true
"HELLO".lastIndexOf("E", 2) // false
match
在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,没有则返回-1
"hell3o".match(/3o/) // ['3o', index: 4, input: 'hell3o', groups: undefined]
"hell3o".match('3o') // ['3o', index: 4, input: 'hell3o', groups: undefined]
search
在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,没有则返回-1
'hell3o'.search(/3o/) // 4
'hell3o'.search('3o') // 4
replace
检索并替换字符串
'hell3o3o'.replace(/3o/, "") // 'hell3o'
'hell3o3o'.replace('3o', "") // 'hell3o'
replaceAll
检索并替换全部匹配的字符串,测试发现使用正则的话必须搭配/g使用
'hell3o3o'.replace(/3o/g, "") // 'hell'
'hell3o3o'.replace('3o', "") // 'hell'
repeat
将一段字符串复制指定次数并拼接
"HELLO".repeat(2) // 'HELLOHELLO'
slice
截取指定的字符串,返回被提取的部分,第一个参数表示起始,第二个参数可选,表示结束位置,如果是复数,从最后一位倒推。
"HELLO".slice(2) // 'LLO'
"HELLO".slice(2, 4) // 'LL'
"HELLO".slice(2, -2) // 'L'
"HELLO".slice(2, -1) // 'LL'
substr
在字符串中抽取从下标开始指定数目的字符串,第一个参数表示起始下标,如果是负数,从最后一位开始倒推。
"HELLO".substr(2) // 'LLO'
"HELLO".substr(2, 1) // 'L'
"HELL3O".substr(-2, 2) // '3O'
substring
提取指定下标之间的字符串,返回值不包含结束下标位置的字符串,第一个参数是复数,返回从0开始到结束下标的字符串,不指定第二个参数则返回到结尾
"HELL3O".substring(1, 2) // 'E'
"HELL3O".substring(-2, 2) // 'E'
"HELL3O".substring(2) // 'LL3O'
split
将字符串分割为字符串数组,以指定参数分割,没有指定则一次分割
"HELL3O".split("") // ['H', 'E', 'L', 'L', '3', '0']
"HELL3O".split() // "HELL3O"
"HELL3O".split("L") // ['HE', '30']
toLowerCase()
转小写
"HELL3O".toLowerCase() // "hell3o"
toUpperCase()
转大写
"hell3o".toLowerCase() // "HELL3O"
toLocaleLowerCase
根据本地语言环境转小写
"HELL3O".toLowerCase() // "hell3o"
toLocalUpperCase
根据本地语言环境转大写
"hell3o".toLowerCase() // "HELL3O"
valueOf
返回String对象的原始值,通常是由javascript在后台自动调用
"hell3o".valueOf() // "hell3o"
toString
返回String对象的值
"hell3o".toString() // "hell3o"
trim
去除字符串两端的空格
" hell3o ".trim() // "hell3o"
trimEnd, trimRight
去除右侧的空格
" 123 ".trimEnd() // ' 123'
" 123 ".trimRight() // ' 123'
trimStart, trimLeft
去除右侧的空格
" 123 ".trimStart() // '123 '
" 123 ".trimLeft() // '123 '
HTML包装方法(非标准方法,兼容性不好)
HTML包装方法会返回一个html标签格式的字符串
anchor
创建一个HTML锚点
at
用于检索,支持反向检索
big
大号字体显示
blink
闪动字符串
bold
粗体显示
fixed
打印机文本显示
fontcolor
使用指定的颜色来显示字符串。
fontsize
使用指定的字号来显示字符串。
link
将字符串显示成链接。
small
以小号字符串显示。
strike
显示加删除线的字符串。
sub
把字符串显示为下标。
sup
把字符串显示成上标。