前端字符串替換(前端字符串替換所有)
本篇文章給大家談?wù)勄岸俗址鎿Q,以及前端字符串替換所有對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
《web前端筆記7》js字符—獲取、查找、遍歷、提取、替換方法總結(jié)
(1)字符串就是零個(gè)或多個(gè)排在一起的字符。
(2)放在單引號(hào)或雙引號(hào)之中。 'abc' "abc"。
(3)單引號(hào)字符串的內(nèi)部,可以使用雙引號(hào)。
(4)雙引號(hào)字符串的內(nèi)部,可以使用單引號(hào)。
(5)反引號(hào)`` :反引號(hào)允許跨行。
反引號(hào)允許字符串跨越多行并可以使用
${…} 在字符串中嵌入表達(dá)式。
(1)charAt 方法返回指定位置的字符,參數(shù)是從0開始編號(hào)的位置。
找一個(gè)字符串中的某個(gè)位置是那個(gè)字符串。
charCodeAt:返回字符串指定位置的 Unicode 碼點(diǎn)(十進(jìn)制表示)
(2)[]
字符串可以被視為字符串?dāng)?shù)組,因此可以用數(shù)組的方括號(hào)運(yùn)算符,用來返回某個(gè)位置的字符
但是字符串只是數(shù)組的相似性而已實(shí)際上、沒辦法改變字符串中的某個(gè)字符
length 只是返回了字符串的長度,該屬性沒辦法改變
字符串使用Unicode字符集,js內(nèi)部所有的都是Unicode表示的。
JavaScript中的字符串使用的是 UTF-16 編碼。
toLowerCase() 和 toUpperCase()方法可以改變大小寫。
String對(duì)象是js原生提供的三個(gè)包裝對(duì)象之一。用來生成字符串對(duì)象。
(1)構(gòu)造函數(shù)
字符串對(duì)象是一個(gè)類數(shù)組對(duì)象,很像數(shù)組,但不是真正的數(shù)組。
(2)將任意的值轉(zhuǎn)成字符
用于連接兩個(gè)字符串,返回一個(gè)新字符串,不改變?cè)址?
從原字符串取出子字符串并返回,不改變?cè)址?
它的第一個(gè)參數(shù)是子字符串的開始位置,
第二個(gè)參數(shù)是子字符串的結(jié)束位置(不含該位置)。
如果省略第二個(gè)參數(shù),則表示子字符串一直到原字符串結(jié)束。
用于從原字符串取出子字符串并返回,不改變?cè)址?,跟slice方法很相像。
它的第一個(gè)參數(shù)表示子字符串的開始位置,
第二個(gè)位置表示結(jié)束位置(返回結(jié)果不含該位置)
如果省略第二個(gè)參數(shù),則表示子字符串一直到原字符串結(jié)束。
區(qū)別:slice 和 substring的區(qū)別?
slice:
如果參數(shù)是負(fù)值,表示從結(jié)尾開始倒數(shù)計(jì)算的位置,即該負(fù)值加上字符串長度。
如果第一個(gè)參數(shù)大于第二個(gè)參數(shù)(正數(shù)情況下),slice()方法返回一個(gè)空字符串。
substring:
如果第一個(gè)參數(shù)大于第二個(gè)參數(shù),substring方法會(huì)自動(dòng)更換兩個(gè)參數(shù)的位置。
如果參數(shù)是負(fù)數(shù),substring方法會(huì)自動(dòng)將負(fù)數(shù)轉(zhuǎn)為0。
由于這些規(guī)則違反直覺,因此不建議使用substring方法,應(yīng)該優(yōu)先使用slice。
總結(jié):獲取子字符串,使用 slice 或 substring。
用于確定一個(gè)字符串在另一個(gè)字符串中第一次出現(xiàn)的位置,
返回結(jié)果是匹配開始的位置。如果返回-1,就表示不匹配。
indexOf方法還可以接受第二個(gè)參數(shù),表示從該位置開始向后匹配。
lastIndexOf
lastIndexOf方法的用法跟indexOf方法一致,主要的區(qū)別是lastIndexOf從尾部開始匹配,indexOf則是從頭部開始匹配。
總結(jié):查找子字符串時(shí),使用 indexOf 或 includes/startsWith/endsWith 進(jìn)行簡單檢查。
endsWith 用來判斷當(dāng)前字符串是否是以另外一個(gè)給定的子字符串“結(jié)尾”的,根據(jù)判斷結(jié)果返回 true 或 false。
用于去除字符串兩端的空格,返回一個(gè)新字符串,不改變?cè)址?
toLowerCase方法用于將一個(gè)字符串全部轉(zhuǎn)為小寫,
toUpperCase則是全部轉(zhuǎn)為大寫。
它們都返回一個(gè)新字符串,不改變?cè)址?
split方法按照給定規(guī)則分割字符串,返回一個(gè)由分割出來的子字符串組成的數(shù)組。
如果分割規(guī)則為空字符串,則返回?cái)?shù)組的成員是原字符串的每一個(gè)字符。
如果省略參數(shù),則返回?cái)?shù)組的唯一成員就是原字符串。
split方法還可以接受第二個(gè)參數(shù),限定返回?cái)?shù)組的最大成員數(shù)。
返回一個(gè)新字符串,表示將原字符串重復(fù)n次。
字符串補(bǔ)全長度的功能。如果某個(gè)字符串不夠指定長度,
會(huì)在頭部或尾部補(bǔ)全。padStart()用于頭部補(bǔ)全,padEnd()用于尾部補(bǔ)全。
trimStart()消除字符串頭部的空格,
trimEnd()消除尾部的空格。
返回一個(gè)由替換值(replacement)替換部分或
所有的模式(pattern)匹配項(xiàng)后的新字符串。
模式可以是一個(gè)字符串或者一個(gè)正則表達(dá)式,
替換值可以是一個(gè)字符串或者一個(gè)每次匹配都要調(diào)用的回調(diào)函數(shù)。
如果pattern是字符串,則僅替換第一個(gè)匹配項(xiàng).
web前端筆記4-有講 如果感興趣、請(qǐng)參考之前文章
JS里面替換指定范圍字符串的方法
說個(gè)笨方法吧:
1、先把你指定的字符串拆分下來
2、然后將拆分出來的字符串使用replaceAll進(jìn)行替換
3、最后將替換后的字符串和未替換的部分連接起來。
js 中如何替換字符串?
JS字符串替換函數(shù):Replace(“字符串1″, “字符串2″), ? 1.我們都知道JS中字符串替換函數(shù)是Replace(“字符串1″, “字符串2″),但是這個(gè)函數(shù)只能將第一次出現(xiàn)的字符串1替換掉,那么我們?nèi)绾尾拍芤淮涡匀刻鎿Q掉了? ? script ? var s = "LOVE LIFE ! LOVE JAVA ..."; ?alert(s); ? alert(s.replace("LOVE ", "愛")); ?alert(s.replace(/\LOVE/g, "愛")); ? /script
function formatStr(str) ?{ ?str=str.replace(/\r\n/ig,"br/"); ?return str; ?} ?要注意兩點(diǎn): ?要使用正則表達(dá)式,不能使用 str.replace("\r\n", newString); ,這會(huì)導(dǎo)致只替換第一個(gè)匹配的子字符串。 ?母字符串中不一定 \r\n 會(huì)同時(shí)存在,也許只有 \n,沒有 \r 也是可能的。 ? replace方法的語法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正則表達(dá)式對(duì)象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。。為了幫助大家更好的理解,下面舉個(gè)簡單例子說明一下 ? ?Js代碼 ?script language="javascript" ? var stringObj="終古人民共和國,終古人民"; ? ? ?//替換錯(cuò)別字“終古”為“中國” ? //并返回替換后的新字符 ? //原字符串stringObj的值沒有改變 ? var newstr=stringObj.replace("終古","中國"); ? alert(newstr); ? /script ? ? ?比我聰明的你,看完上面的例子之后,會(huì)發(fā)現(xiàn)第二個(gè)錯(cuò)別字“終古”并沒有被替換成“中國”,我們可以執(zhí)行二次replace方法把第二個(gè)錯(cuò)別字“終古”也替換掉,程序經(jīng)過改進(jìn)之后如下: ? ?Js代碼 ?script language="javascript" ? var stringObj="終古人民共和國,終古人民"; ? ? ?//替換錯(cuò)別字“終古”為“中國” ? //并返回替換后的新字符 ? //原字符串stringObj的值沒有改變 ? var newstr=stringObj.replace("終古","中國"); ? ? ?newstr=newstr.replace("終古","中國"); ? alert(newstr); ? /script ? ? ?我們可以仔細(xì)的想一下,如果有N的N次方個(gè)錯(cuò)別字,是不是也要執(zhí)行N的N次方replace方法來替換掉錯(cuò)別字呢??呵,不用怕,有了正則表達(dá)式之后不用一個(gè)錯(cuò)別字要執(zhí)行一次replace方法。。程序經(jīng)過改進(jìn)之后的代碼如下 ? ?Js代碼 ?script language="javascript" ? var reg=new RegExp("終古","g"); //創(chuàng)建正則RegExp對(duì)象 ? var stringObj="終古人民共和國,終古人民"; ? var newstr=stringObj.replace(reg,"中國"); ? alert(newstr); ? /script ?上面講的是replace方法最簡單的應(yīng)用,不知道大家有沒有看懂??下面開始講稍微復(fù)雜一點(diǎn)的應(yīng)用。。 ? ?大家在一些網(wǎng)站上搜索文章的時(shí)候,會(huì)發(fā)現(xiàn)這么一個(gè)現(xiàn)象,就是搜索的關(guān)鍵字會(huì)高亮改變顏色顯示出來??這是怎么實(shí)現(xiàn)的呢??其實(shí)我們可以用正則表達(dá)式來實(shí)現(xiàn),具體怎么樣實(shí)現(xiàn)呢?簡單的原理請(qǐng)看下面的代碼 ? ?Js代碼 ?script language="javascript" ? var str="中華人民共和國,中華人民共和國"; ? var newstr=str.replace(/(人)/g,"font color=red$1/font"); ? document.write(newstr); ? /script ?上面的程序缺少互動(dòng)性,我們?cè)俑倪M(jìn)一下程序,實(shí)現(xiàn)可以自主輸入要查找的字符 ? ?Js代碼 ?script language="javascript" ? var s=prompt("請(qǐng)輸入在查找的字符","人"); ? var reg=new RegExp("("+s+")","g"); ? var str="中華人民共和國,中華人民共和國"; ? var newstr=str.replace(reg,"font color=red$1/font"); ? document.write(newstr); ? /script ? ?可能大家都會(huì)對(duì)$1這個(gè)特殊字符表示什么意思不是很理解,其實(shí)$1表示的就是左邊表達(dá)式中括號(hào)內(nèi)的字符,即第一個(gè)子匹配,同理可得$2表示第二個(gè)子匹配。。什么是子匹配呢??通俗點(diǎn)講,就是左邊每一個(gè)括號(hào)是第一個(gè)字匹配,第二個(gè)括號(hào)是第二個(gè)子匹配。。 ? ?當(dāng)我們要把查找到的字符進(jìn)行運(yùn)算的時(shí)候,怎么樣實(shí)現(xiàn)呢??在實(shí)現(xiàn)之前,我們先講一下怎么樣獲取某一個(gè)函數(shù)的參數(shù)。。在函數(shù)Function的內(nèi)部,有一個(gè)arguments集合,這個(gè)集合存儲(chǔ)了當(dāng)前函數(shù)的所有參數(shù),通過arguments可以獲取到函數(shù)的所有參數(shù),為了大家理解,請(qǐng)看下面的代碼 ? ?Js代碼 ?script language="javascript" ? function test(){ ? ? alert("參數(shù)個(gè)數(shù):"+arguments.length); ? ? alert("每一個(gè)參數(shù)的值:"+arguments[0]); ? ? alert("第二個(gè)參數(shù)的值"+arguments[1]); ? ? //可以用for循環(huán)讀取所有的參數(shù) ? } ? ? ?test("aa","bb","cc"); ? /script ?看懂上面的程序之后,我們?cè)賮砜聪旅嬉粋€(gè)有趣的程序 ? ?Js代碼 ?script language="javascript" ? var reg=new RegExp("\\d","g"); ? var str="abd1afa4sdf"; ? str.replace(reg,function(){alert(arguments.length);}); ? /script ? ? ?我們驚奇的發(fā)現(xiàn),匿名函數(shù)竟然被執(zhí)行了二次,并且在函數(shù)里還帶有三個(gè)參數(shù),為什么會(huì)執(zhí)行二次呢??這個(gè)很容易想到,因?yàn)槲覀儗懙恼齽t表達(dá)式是匹配單個(gè)數(shù)字的,而被檢測(cè)的字符串剛好也有二個(gè)數(shù)字,故匿名函數(shù)被執(zhí)行了二次。。在匿名函數(shù)內(nèi)部的那三個(gè)參數(shù)到底是什么內(nèi)容呢??為了弄清這個(gè)問題,我們看下面的代碼。 ? ?Js代碼 ?script language="javascript" ? function test(){ ? for(var i=0;iarguments.length;i++){ ? ? ? alert("第"+(i+1)+"個(gè)參數(shù)的值:"+arguments); ? } ? } ? var reg=new RegExp("\\d","g"); ? var str="abd1afa4sdf"; ? str.replace(reg,test); ? /script ? ? ?經(jīng)過觀察我們發(fā)現(xiàn),第一個(gè)參數(shù)表示匹配到的字符,第二個(gè)參數(shù)表示匹配時(shí)的字符最小索引位置(RegExp.index),第三個(gè)參數(shù)表示被匹配的字符串(RegExp.input)。其實(shí)這些參數(shù)的個(gè)數(shù),還會(huì)隨著子匹配的變多而變多的。弄清這些問題之后,我們可以用另外的一種寫法 ? ?Js代碼 ?script language="javascript" ? function test($1){ ? ? return "font color=’red’"+$1+"/font" ? } ? var s=prompt("請(qǐng)輸入在查找的字符","人"); ? var reg=new RegExp("("+s+")","g"); ? var str="中華人民共和國,中華人民共和國"; ? var newstr=str.replace(reg,test); ? document.write(newstr); ? /script ?看了上面的程序,原來可以對(duì)匹配到的字符為所欲為。下面簡單舉一個(gè)應(yīng)用的例子 ? ?Js代碼 ?script language="javascript" ? var str="他今年22歲,她今年20歲,他的爸爸今年45歲,她的爸爸今年44歲,一共有4人" ? function test($1){ ? ? var gyear=(new Date()).getYear()-parseInt($1)+1; ? ? return $1+"("+gyear+"年出生)"; ? } ? var reg=new RegExp("(\\d+)歲","g"); ? var newstr=str.replace(reg,test); ? alert(str); ? alert(newstr); ? /script
JS在html中的字符串替換
上面font標(biāo)簽加一個(gè)id,font id="idFont" class="cfrq" style="font-size:12px"星期三,星期二/font
這樣在js中就可以
docunment.getElementById("idFont").innerText = "星期二,星期三";
這樣就可以實(shí)現(xiàn)你想要的功能
如果你用JQuery的話也可以這樣 $(".cfrq").text("星期二,星期三");
前端字符串替換的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于前端字符串替換所有、前端字符串替換的信息別忘了在本站進(jìn)行查找喔。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。