廢話不多說,直接看代碼
String.startsWith()
返回布爾值崖媚,表示參數(shù)字符串是否在原字符串的頭部亦歉。
let str = "hello world!"
str.startsWith('Hello') // true
String.endsWith()
返回布爾值,表示參數(shù)字符串是否在原字符串的尾部畅哑。
let str = "hello world!"
str.endsWith('!') // true
String.includes()
返回布爾值鳍徽,表示是否找到了參數(shù)字符串。
let str = "hello world!"
str.includes('o') // true
以上三個方法都有第二個參數(shù) n 敢课,表示開始搜索的位置
let str = "hello world!"
str.startsWith('world', 6) // true
str.endsWith('Hello', 5) // true
str.includes('Hello', 6) // false
要注意的是阶祭,
startsWith
,includes
,是從n的位置開始往后檢索,直到字符串結(jié)束直秆;endsWith
是針對前n個字符濒募!
String.repeat(n)
方法返回一個新字符串,表示將原字符串重復(fù)n次圾结。
let str = 'abc'
str.repeat(3) // abcabcabc
寫到這里突然想到一個騷操作瑰剃!清空字符串 是不是可以這樣
str.repeat(0)
如果參數(shù)是小數(shù),會被取整
let str = 'abc'
str.repeat(3.8) // abcabcabc
str.repeat(2.1) // abcabc
如果
repeat
的參數(shù)是負數(shù)
或者Infinity
筝野,會報錯晌姚。
如果參數(shù)是 0 到-1 之間的小數(shù),則等同于 0歇竟,這是因為會先進行取整運算挥唠。0 到-1 之間的小數(shù),取整以后等于-0焕议,repeat
視同為 0宝磨。
參數(shù)NaN
等同于 0。
如果repeat
的參數(shù)是字符串盅安,則會先轉(zhuǎn)換成數(shù)字唤锉。
let str = 'abc'
str.repeat('abc') // ""
str.repeat('3') // abcabcabc
str.repeat(NaN) // ""
str.repeat(Infinity) // RangeError
str.repeat(-1) // RangeError
str.repeat(-0.9) // ""
String.padStart()
用于頭部補全
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'xxx'.padStart(2, 'ab') // 'xxx'
'abc'.padStart(10, '0123456789') // '0123456abc'
'x'.padStart(4) // ' x'
String.padEnd()
用于尾部補全
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'
'xxx'.padEnd(2, 'ab') // 'xxx'
'x'.padEnd(4) // 'x '
上面代碼中,
padStart()
和padEnd()
一共接受兩個參數(shù)别瞭,第一個參數(shù)是字符串補全生效的最大長度窿祥,第二個參數(shù)是用來補全的字符串。
String.trimStart()
消除字符串頭部的空格蝙寨,trimEnd()
消除尾部的空格晒衩。它們返回的都是新字符串嗤瞎,不會修改原始字符串。trim()
方法刪除字符串兩端的空白符
const s = ' abc ';
s.trim() // "abc"
s.trimStart() // "abc "
s.trimEnd() // " abc"
上面代碼中浸遗,
trimStart()
只消除頭部的空格猫胁,保留尾部的空格。trimEnd()
也是類似行為跛锌。
除了空格鍵弃秆,這兩個方法對字符串頭部(或尾部)的 tab 鍵、換行符等不可見的空白符號也有效髓帽。
瀏覽器還部署了額外的兩個方法菠赚,trimLeft()
是trimStart()
的別名,trimRight()
是trimEnd()
的別名郑藏。
String.indexOf()
返回字符串中指定文本首次出現(xiàn)的索引
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China"); // 17
String.lastIndexOf()
方法返回指定文本在字符串中最后一次出現(xiàn)的索引
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China"); // 51
如果未找到文本衡查,
indexOf()
和lastIndexOf()
均返回 -1。
均有第二個參數(shù)n 表示檢索的起始位置indexOf()
從n到結(jié)束必盖,lastIndexOf()
從n到開始
String.search()
方法搜索特定值的字符串拌牲,并返回匹配的位置
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China"); // 17
兩種方法,
indexOf()
與search()
歌粥,是相等的塌忽。
這兩種方法是不相等的。區(qū)別在于:
search()
方法無法設(shè)置第二個開始位置參數(shù)失驶。
indexOf()
方法無法設(shè)置更強大的搜索值(正則表達式)土居。
String.slice()
提取字符串的某個部分并在新字符串中返回被提取的部分
var str = "Apple, Banana, Mango";
str.slice(7,13); // Banana
str.slice(-13,-7); // Banana
str.slice(7); // Banana, Mango
str.slice(-13); // Banana, Mango
該方法設(shè)置兩個參數(shù):起始索引(開始位置),終止索引(結(jié)束位置)嬉探。
如果某個參數(shù)為負擦耀,則從字符串的結(jié)尾開始計數(shù)。
如果省略第二個參數(shù)涩堤,則該方法將裁剪字符串的剩余部分眷蜓,負數(shù)從結(jié)尾計數(shù)。
String.substring()
類似于 slice()
定躏。不同之處在于 substring()
無法接受負的索引账磺。
String.substr()
類似于 slice()
。不同之處在于第二個參數(shù)規(guī)定被提取部分的長度
var str = "Apple, Banana, Mango";
str.substr(7,6); // Banana
str.substr(7,8); // Banana,M
substr()
第二個參數(shù)不能為負痊远,因為它定義的是長度。
String.replace()
方法用另一個值替換在字符串中指定的值
var str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");
n // Please visit W3School!
replace()
方法不會改變調(diào)用它的字符串氏捞。它返回的是新字符串碧聪。
默認只替換首個匹配。
replace()
對大小寫敏感液茎。
如需執(zhí)行大小寫不敏感的替換逞姿,使用正則表達式 /i(大小寫不敏感)
如需替換所有匹配辞嗡,請使用正則表達式的 g 標(biāo)志(用于全局搜索)
var str = "abcABC";
str.replace(/a/i, "x"); // xbcABC
str.replace(/A/g, "x"); // abcxBC
str.replace(/A/gi, "x"); // xbcxBC
String.toUpperCase()
把字符串轉(zhuǎn)換為大寫
var str = "abc"
str.toUpperCase() // ABC
String.toLowerCase()
把字符串轉(zhuǎn)換為小寫
var str = "ABC"
str.toLowerCase() // abc
String.concat()
連接兩個或多個字符串
var text1 = "a";
var text2 = "b";
text1.concat(" ", text2); // a b
text1.concat(text2); // ab
text1.concat("-", text2); // a-b
所有字符串方法都會返回新字符串。它們不會修改原始字符串滞造。
正式地說:字符串是不可變的:字符串不能更改续室,只能替換。
String.charAt()
方法返回字符串中指定下標(biāo)(位置)的字符串 , charCodeAt()
方法返回字符串中指定索引的字符 unicode 編碼
String.split()
將字符串轉(zhuǎn)換為數(shù)組
var str = "a,b,c,d,e,f";
str.split("|"); // ["a,b,c,d,e,f"]
str.split(" "); // ["a,b,c,d,e,f"]
str.split(""); // ["a", ",", "b", ",", "c", ",", "d", ",", "e", ",", "f"]
完谒养!差不多也就這些東西了