js字符串操作大全

需要注意的一些:

  1. charAt 接受字符串或者number類型數(shù)字
  2. match 匹配正確返回是數(shù)組网棍,數(shù)組第一個(gè)元素是符合正則的字符串 字符串全部匹配判斷:a5.match(正則表達(dá)式)[0]===a5
  3. substr(x,y) 從x位置截取y個(gè)字符,不影響原字符串
  4. substring(x硅堆,y)從x位置截取到y(tǒng)位置,不影響原字符串
  5. slice(x记某,y) 從x位置截取到y(tǒng)位置痊夭,不影響原字符串(substr則僅僅是將第一個(gè)參數(shù)與字符串長(zhǎng)度相加后的結(jié)果作為第一個(gè)參數(shù);substring則干脆將負(fù)參數(shù)都直接轉(zhuǎn)換為0)和substring只有負(fù)數(shù)的區(qū)別
  6. replace(a耘子,b) 將字符串中的a替換成b果漾,只會(huì)替換開(kāi)頭的一個(gè),不影響原字符串
  7. replace(/需要替換部分/g谷誓,b) 替換所有出現(xiàn)的字符
  8. split(' ') 以空格為間隙將字符串轉(zhuǎn)換為數(shù)組,不影響原字符串 (ps:數(shù)組轉(zhuǎn)為字符串用tostring(),靈活的話join)

demo:

// 1.concat() – 將兩個(gè)或多個(gè)字符的文本組合起來(lái)绒障,返回一個(gè)新的字符串。
console.log('---------------------1--------------------')
const a1 = '123'
const b1 = 'abc'
const c1 = a1.concat(b1)
console.log(c1)

// 2.indexOf() – 返回字符串中一個(gè)子串第一處出現(xiàn)的索引捍歪。如果沒(méi)有匹配項(xiàng)户辱,返回 -1 鸵钝。
console.log('---------------------2--------------------')
const a2 = 'i love you'
const c2 = a2.indexOf('o')
console.log(c2)

// 3.charAt() – 返回指定位置的字符。
console.log('---------------------3--------------------')
const a3 = 'hello boy'
const b3 = a3.charAt(2)
const c3 = a3.charAt('2')
console.log(b3)
console.log(c3)

// 4.lastIndexOf() – 返回字符串中一個(gè)子串最后一處出現(xiàn)的索引庐镐,如果沒(méi)有匹配項(xiàng)恩商,返回 -1 。
console.log('---------------------4--------------------')
const a4 = 'hello boy'
const b4 = a4.lastIndexOf('o')
console.log(b4)

// 5.match() – 檢查一個(gè)字符串是否匹配一個(gè)正則表達(dá)式必逆。它返回指定的值怠堪,而不是字符串的位置
console.log('---------------------5--------------------')
const a5 = '13776555623'
const b5 ='ee23123'
console.log(a5.match(/^1[34578]\d{9}$/)[0]===a5)
console.log(b5.match(/^1[34578]\d{9}$/)===b5)

// 6.substr() 函數(shù) -- 返回從string的startPos位置,長(zhǎng)度為length的字符串
console.log('---------------------6--------------------')
const a6 = 'hello world'
console.log(a6.substr(2,5))
console.log(a6.substr(1))
console.log(a6)

// 7.substring() – 返回字符串的一個(gè)子串名眉。傳入?yún)?shù)是起始位置和結(jié)束位置粟矿。
console.log('---------------------7--------------------')
const a7 = 'hello world'
console.log(a7.substring(2,5))
console.log(a7.substring(5,2))//一樣效果,不建議這樣寫
console.log(a7.substring(-2,-5))//都轉(zhuǎn)換成0
console.log(a7.substring(1))
console.log(a7)

// 8.slice() – 提取字符串的一部分损拢,并返回一個(gè)新字符串嚷炉。
console.log('---------------------8--------------------')
const a8 = 'hello world'
console.log(a8.slice(2,5))
console.log(a7.slice(5,2))
console.log(a7.slice(-2,-5))//和字符串長(zhǎng)度相加
console.log(a8.slice(1))
console.log(a8)

// 9.replace() – 用來(lái)查找匹配一個(gè)正則表達(dá)式的字符串,然后使用新字符串代替匹配的字符串探橱。
console.log('---------------------9--------------------')
const a9 = 'hello world hello'
console.log(a9.replace('hello','xxxxx'))
console.log(a9.replace(/hello/g,'xxxxx'))
console.log(a9)

// 10.search() – 執(zhí)行一個(gè)正則表達(dá)式匹配查找申屹。如果查找成功,返回字符串中匹配的索引值隧膏。否則返回 -1 哗讥。
console.log('---------------------10--------------------')
const a10 = '13776555623'
const b10 ='ee23123'
console.log(a10.search(/^1[34578]\d{9}$/))
console.log(b10.search(/^1[34578]\d{9}$/))

// 11.split() – 通過(guò)將字符串劃分成子串,將一個(gè)字符串做成一個(gè)字符串?dāng)?shù)組胞枕。
console.log('---------------------11--------------------')
const a11='aaa bbb ccc AAA bbb CCC'
const b12 = a11.split(' ')
console.log(b12)
console.log(a11)
console.log(b12.join(''))

// 12.length – 返回字符串的長(zhǎng)度杆煞,所謂字符串的長(zhǎng)度是指其包含的字符的個(gè)數(shù)。
console.log('---------------------12--------------------')
console.log('aaa'.length)

// 13.toLowerCase() – 將整個(gè)字符串轉(zhuǎn)成小寫字母腐泻。
console.log('---------------------13--------------------')
const a13='aaabbbcccAAAbbbCCC'
console.log(a13.toLowerCase())
console.log(a13)

// 14.toUpperCase() – 將整個(gè)字符串轉(zhuǎn)成大寫字母
console.log('---------------------14--------------------')
const a14='aaabbbcccAAAbbbCCC'
console.log(a14.toUpperCase())
console.log(a14)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末决乎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子派桩,更是在濱河造成了極大的恐慌构诚,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铆惑,死亡現(xiàn)場(chǎng)離奇詭異范嘱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)员魏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門丑蛤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人撕阎,你說(shuō)我怎么就攤上這事受裹。” “怎么了虏束?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵棉饶,是天一觀的道長(zhǎng)脑慧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)砰盐,這世上最難降的妖魔是什么闷袒? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮岩梳,結(jié)果婚禮上囊骤,老公的妹妹穿的比我還像新娘。我一直安慰自己冀值,他們只是感情好也物,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著列疗,像睡著了一般滑蚯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抵栈,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天告材,我揣著相機(jī)與錄音,去河邊找鬼古劲。 笑死斥赋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的产艾。 我是一名探鬼主播疤剑,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼闷堡!你這毒婦竟也來(lái)了隘膘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤杠览,失蹤者是張志新(化名)和其女友劉穎弯菊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體倦零,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡误续,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扫茅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡育瓜,死狀恐怖葫隙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躏仇,我是刑警寧澤恋脚,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布腺办,位于F島的核電站,受9級(jí)特大地震影響糟描,放射性物質(zhì)發(fā)生泄漏怀喉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一船响、第九天 我趴在偏房一處隱蔽的房頂上張望躬拢。 院中可真熱鬧,春花似錦见间、人聲如沸聊闯。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)菱蔬。三九已至,卻和暖如春史侣,著一層夾襖步出監(jiān)牢的瞬間拴泌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工惊橱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弛针,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓李皇,卻偏偏與公主長(zhǎng)得像削茁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掉房,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容