js基礎(chǔ)篇(二)——字符串的各種操作

js基礎(chǔ)篇(一)——數(shù)組的各種操作
js基礎(chǔ)篇(三)——DOM的各種操作

1. 創(chuàng)建字符串

一個(gè)字符串用于存儲(chǔ)一系列字符就像"John Doe"空厌。
一個(gè)字符串可以使用單引號(hào)或雙引號(hào):

  • 實(shí)例
var txt = new String("string");
//或者更簡(jiǎn)單方式:
var txt = "string";

2. 訪問(wèn)字符串

你使用位置(索引)可以訪問(wèn)字符串中任何的字符:

  • 實(shí)例
var character=carname[7];

字符串的索引從零開始, 所以字符串第一字符為 [0],第二個(gè)字符為 [1], 等等挽铁。

3. 字符串的屬性和方法

3.1 屬性

屬性 描述
constructor 對(duì)創(chuàng)建該對(duì)象的函數(shù)的引用
length 字符串的長(zhǎng)度
prototype 允許您向?qū)ο筇砑訉傩院头椒?/td>

3.2 方法

下面的表格是總結(jié)胞皱,每個(gè)方法的示例在下面创橄。

方法 描述
charAt() 返回在指定位置的字符仍劈。
charCodeAt() 返回在指定的位置的字符的 Unicode 編碼。
concat() 連接兩個(gè)或更多字符串兴蒸,并返回新的字符串衫生。
fromCharCode() 將 Unicode 編碼轉(zhuǎn)為字符裳瘪。
indexOf() 返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。
lastIndexOf() 從后向前搜索字符串罪针,并從起始位置(0)開始計(jì)算返回字符串最后出現(xiàn)的位置盹愚。
match() 查找找到一個(gè)或多個(gè)正則表達(dá)式的匹配。
replace() 在字符串中查找匹配的子串站故, 并替換與正則表達(dá)式匹配的子串。
search() 查找與正則表達(dá)式相匹配的值毅舆。
slice() 提取字符串的片斷西篓,并在新的字符串中返回被提取的部分。
split() 把字符串分割為字符串?dāng)?shù)組憋活。
substr() 從起始索引號(hào)提取字符串中指定數(shù)目的字符岂津。
substring() 提取字符串中兩個(gè)指定的索引號(hào)之間的字符。
toLowerCase() 把字符串轉(zhuǎn)換為小寫悦即。
toUpperCase() 把字符串轉(zhuǎn)換為大寫吮成。
trim() 去除字符串兩邊的空白
valueOf() 返回某個(gè)字符串對(duì)象的原始值橱乱。
  1. charAt()方法
  • 定義和用法
    charAt() 方法可返回指定位置的字符。
    第一個(gè)字符位置為 0, 第二個(gè)字符位置為 1,以此類推.
  • 實(shí)例
返回字符串中的第三個(gè)字符:
var str = "HELLO WORLD";
var n = str.charAt(2)
n輸出結(jié)果:
L
  1. charCodeAt()方法
  • 定義和用法
    charCodeAt()方法可返回指定位置的字符的 Unicode 編碼粱甫。
    字符串中第一個(gè)字符的位置為 0泳叠, 第二個(gè)字符位置為 1,以此類推茶宵。
  • 實(shí)例
返回字符串第一個(gè)字符的 Unicode 編碼:
var str = "HELLO WORLD";
var n = str.charCodeAt(0);
n 輸出結(jié)果:
72
  1. concat()方法
  • 定義和用法
    concat() 方法用于連接兩個(gè)或多個(gè)字符串危纫。
    該方法沒(méi)有改變?cè)凶址菚?huì)返回連接兩個(gè)或多個(gè)字符串新字符串乌庶。
  • 實(shí)例
連接兩個(gè)字符串:
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
n 輸出結(jié)果:
Hello world!
  1. fromCharCode()方法
  • 定義和用法
    fromCharCode()可接受一個(gè)指定的 Unicode 值种蝶,然后返回一個(gè)字符串。
    注意:該方法是 String 的靜態(tài)方法瞒大,字符串中的每個(gè)字符都由單獨(dú)的 Unicode 數(shù)字編碼指定螃征。
  • 實(shí)例
將 Unicode 編碼轉(zhuǎn)為一個(gè)字符:
var n = String.fromCharCode(65);
n 輸出結(jié)果:
A
  1. indexOf()方法
  • 定義和用法
    indexOf()方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。
    如果沒(méi)有找到匹配的字符串則返回 -1透敌。
    注意: indexOf()方法區(qū)分大小寫盯滚。
    提示: 同樣你可以查看類似方法lastIndexOf()
  • 實(shí)例
查找字符串 "welcome":
var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
n 輸出結(jié)果:
13
  1. lastIndexOf()方法
  • 定義和用法
    lastIndexOf() 方法可返回一個(gè)指定的字符串值最后出現(xiàn)的位置拙泽。
    如果沒(méi)有找到匹配字符串則返回 -1 淌山。
    注意:lastIndexOf()方法是區(qū)分大小寫的!
    提示: 你也可以參照類似方法indexOf() 顾瞻。
  • 實(shí)例
查找字符串 "runoob" 最后出現(xiàn)的位置:
var str="I am from runoob泼疑,welcome to runoob site.";
var n=str.lastIndexOf("runoob");
n 輸出結(jié)果:
28
  1. match()方法
  • 定義和用法
    match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配荷荤。
    如果沒(méi)有找到任何匹配的文本退渗, match() 將返回 null。否則蕴纳,它將返回一個(gè)數(shù)組会油,其中存放了與它找到的匹配文本有關(guān)的信息。
  • 實(shí)例
在字符串中查找 "ain":
var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/g);
n 輸出數(shù)組結(jié)果值:
ain,ain,ain
  1. replace()方法
  • 定義和用法
    replace() 方法用于在字符串中用一些字符替換另一些字符古毛,或替換一個(gè)與正則表達(dá)式匹配的子串翻翩。
    該方法不會(huì)改變?cè)甲址?/li>
  • 實(shí)例
在本例中,我們將執(zhí)行一次全局替換稻薇,每當(dāng) "Microsoft" 被找到嫂冻,它就被替換為 "Runoob":
var str="Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");
n 輸出結(jié)果:
Visit Runoob!
  1. search()方法
  • 定義和用法
    search() 方法用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串塞椎。
    如果沒(méi)有找到任何匹配的子串桨仿,則返回 -1。
  • 實(shí)例
查找 "W3CSchool":
var str="Visit W3CSchool!";
var n=str.search("W3CSchool");
n 輸出結(jié)果:
6

search()方法和indexof()一樣返回目標(biāo)自字符串索引值案狠。
首先要明確search()的參數(shù)必須是正則表達(dá)式服傍,而indexOf()的參數(shù)只是普通字符串钱雷。indexOf()是比search()更加底層的方法。很多時(shí)候用indexOf()不是為了真的想知道子字符串的位置吹零,而是想知道長(zhǎng)字符串中沒(méi)有包含這個(gè)子字符串罩抗。

  1. slice()方法
  • 定義和用法
    slice(start, end) 方法可提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分瘪校。
    使用start(包含) 和 end(不包含) 參數(shù)來(lái)指定字符串提取的部分澄暮。
    字符串中第一個(gè)字符位置為 0, 第二個(gè)字符位置為 1, 以此類推。
    提示: 如果是負(fù)數(shù)阱扬,則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置泣懊。也就是說(shuō),-1 指字符串的最后一個(gè)字符麻惶,-2 指倒數(shù)第二個(gè)字符馍刮,以此類推。
  • 實(shí)例
提取字符串的片斷:
var str="Hello world!";
var n=str.slice(1,5);
n 輸出結(jié)果:
ello
  1. split()方法
  • 定義和用法
    split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組窃蹋。
    提示: 如果把空字符串 ("") 用作 separator卡啰,那么 stringObject 中的每個(gè)字符之間都會(huì)被分割。
    注意: split()方法不改變?cè)甲址?/li>
  • 實(shí)例
把一個(gè)字符串分割成字符串?dāng)?shù)組:
var str="How are you doing today?";
var n=str.split(" ");
n 輸出一個(gè)數(shù)組的值:
How,are,you,doing,today?
a="a|b|c";
console.log(a.split("|"));//["a", "b", "c"]
a="a,b,c";
console.log(a.split(","));//["a", "b", "c"]
  1. substr()方法
  • 定義和用法
    substr() 方法可在字符串中抽取從 開始 下標(biāo)開始的指定數(shù)目的字符警没。
    提示: substr() 的參數(shù)指定的是子串的開始位置和長(zhǎng)度匈辱,因此它可以替代 substring()slice()來(lái)使用。
    注意: substr() 方法不會(huì)改變?cè)醋址?/li>
  • 實(shí)例
抽取指定數(shù)目的字符:
var str="Hello world!";
var n=str.substr(2,3)
n 輸出結(jié)果:
llo
  1. substring()方法
    substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符杀迹。
    substring() 方法返回的子串包括 開始 處的字符亡脸,但不包括 結(jié)束 處的字符。
    substringslice的區(qū)別則是树酪,slice可以接受“負(fù)數(shù)”浅碾,表示從字符串尾部開始計(jì)數(shù); 而substring則把負(fù)數(shù)或其它無(wú)效的數(shù)续语,當(dāng)作0垂谢。
  • 實(shí)例
在本例中,我們將使用 substring() 從字符串中提取一些字符::
var str="Hello world!";
document.write(str.substring(3)+"<br>");
document.write(str.substring(3,7));
以上代碼輸出結(jié)果:
lo world!
lo w
  1. toLowerCase()方法
  • 定義和用法
    `toLowerCase() 方法用于把字符串轉(zhuǎn)換為小寫疮茄。
  • 實(shí)例
把字符串轉(zhuǎn)換為小寫:
var str="Hello World!";
document.write(str.toLowerCase());
  1. toUpperCase()方法
  • 定義和用法
    `toUpperCase() 方法用于把字符串轉(zhuǎn)換為大寫滥朱。
  • 實(shí)例
把字符串轉(zhuǎn)換為大寫:
var str="Hello world!";
document.write(str.toUpperCase());
  1. trim()方法
  • 定義和用法
    trim() 方法去除字符串兩邊的空白。
  • 實(shí)例
無(wú)
  1. valueOf()方法
  • 定義和用法
    valueOf() 方法可返回 String 對(duì)象的原始值力试。
    注意: valueOf() 方法通常由 JavaScript 在后臺(tái)自動(dòng)進(jìn)行調(diào)用徙邻,而不是顯式地處于代碼中。
  • 實(shí)例
返回 String 對(duì)象的原始值:
var str="Hello world!";
document.write(str.valueOf());
以上輸出結(jié)果:
Hello world!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末懂版,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子躏率,更是在濱河造成了極大的恐慌躯畴,老刑警劉巖民鼓,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蓬抄,居然都是意外死亡丰嘉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門嚷缭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)饮亏,“玉大人,你說(shuō)我怎么就攤上這事阅爽÷沸遥” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵付翁,是天一觀的道長(zhǎng)简肴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)百侧,這世上最難降的妖魔是什么砰识? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮佣渴,結(jié)果婚禮上辫狼,老公的妹妹穿的比我還像新娘。我一直安慰自己辛润,他們只是感情好膨处,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布频蛔。 她就那樣靜靜地躺著晦溪,像睡著了一般三圆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上修噪,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天黄琼,我揣著相機(jī)與錄音脏款,去河邊找鬼撤师。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腺占,可吹牛的內(nèi)容都是我干的痒谴。 我是一名探鬼主播闰歪,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼临扮!你這毒婦竟也來(lái)了教翩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚜退,失蹤者是張志新(化名)和其女友劉穎钻注,沒(méi)想到半個(gè)月后幅恋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捆交,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡品追,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泞莉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捺弦,死狀恐怖饮寞,靈堂內(nèi)的尸體忽然破棺而出膳音,到底是詐尸還是另有隱情疯兼,我是刑警寧澤帖池,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布慌申,位于F島的核電站,受9級(jí)特大地震影響理郑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜您炉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一柒爵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赚爵,春花似錦、人聲如沸冀膝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)千所。三九已至狂魔,卻和暖如春淫痰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背籽孙。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工烈评, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人犯建。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓讲冠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親适瓦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子竿开,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

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

  • Javascript有很多字符串的方法,有的人有W3C的API玻熙,還可以去MDN上去找否彩,但是我覺得API上說(shuō)的不全,...
    頑皮的雪狐七七閱讀 2,167評(píng)論 0 2
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,238評(píng)論 0 4
  • 《ijs》速成開發(fā)手冊(cè)3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,189評(píng)論 0 7
  • 我去過(guò)很多地方嗦随,但我只遇到過(guò)很少的我們 有人問(wèn)我是否喜歡廉江 我說(shuō)“喜歡傲欣蟆!” 其實(shí)我只是喜歡你 如果那一刻我說(shuō)我...
    龍豬z閱讀 470評(píng)論 0 1
  • 時(shí)光荏苒,2009年至今唤殴,看似漫長(zhǎng)般婆,卻仿佛又在眼前。還記得我們最初的樣子嗎朵逝? 記得國(guó)考即將面試的時(shí)候蔚袍,冬天,很冷配名。...
    泡泡糖豆閱讀 706評(píng)論 0 0