JavaScript String方法

廢話不多說,直接看代碼

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"]

完谒养!差不多也就這些東西了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挺狰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子买窟,更是在濱河造成了極大的恐慌丰泊,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件始绍,死亡現(xiàn)場離奇詭異瞳购,居然都是意外死亡,警方通過查閱死者的電腦和手機亏推,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門学赛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吞杭,你說我怎么就攤上這事盏浇。” “怎么了篇亭?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵缠捌,是天一觀的道長。 經(jīng)常有香客問我译蒂,道長曼月,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任柔昼,我火速辦了婚禮哑芹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捕透。我一直安慰自己聪姿,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布乙嘀。 她就那樣靜靜地躺著末购,像睡著了一般。 火紅的嫁衣襯著肌膚如雪虎谢。 梳的紋絲不亂的頭發(fā)上盟榴,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音婴噩,去河邊找鬼擎场。 笑死羽德,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的迅办。 我是一名探鬼主播宅静,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼站欺!你這毒婦竟也來了姨夹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤镊绪,失蹤者是張志新(化名)和其女友劉穎匀伏,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝴韭,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡够颠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了榄鉴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片履磨。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖庆尘,靈堂內(nèi)的尸體忽然破棺而出剃诅,到底是詐尸還是另有隱情,我是刑警寧澤驶忌,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布矛辕,位于F島的核電站,受9級特大地震影響付魔,放射性物質(zhì)發(fā)生泄漏聊品。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一几苍、第九天 我趴在偏房一處隱蔽的房頂上張望翻屈。 院中可真熱鬧,春花似錦妻坝、人聲如沸伸眶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厘贼。三九已至,卻和暖如春圣拄,著一層夾襖步出監(jiān)牢的瞬間涂臣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工售担, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赁遗,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓族铆,卻偏偏與公主長得像岩四,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哥攘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350