JS使用replace()方法和正則表達(dá)式進(jìn)行字符串的搜索與替換實(shí)例
1、JS字符串的替換及replace()方法的使用
replace(regexp,replacement)方法有兩個(gè)參數(shù),第一參數(shù)可以是一個(gè)純文本字符串或是一個(gè)RegExp對(duì)象,具體請(qǐng)看RegExp對(duì)象的使用;第二個(gè)參數(shù)可是一個(gè)字符串也可以是一個(gè)函數(shù)。
以下是JS字符串替換的舉例:
例1:
var str="Hello world!";
document.write(str.replace(/world/, "phper"));
例2:
var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var info="Lili,14,China";
var rep=info.replace(reg, "She is $1, $2 years old, come from $3");
alert(rep);
例3:
var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var info="Lili,14,China";
var name, age, from;
function prase_info(m,p1,p2,p3) { // 也可使用非顯式參數(shù),使用arguments獲取
name = p1;
age = p2;
from = p3;
return "She is "+p1+", "+p2+" years old, come from "+p3;
}
var rep=info.replace(reg, prase_info);
alert(rep);
aler(name);
2、RegExp對(duì)象的使用
JavaScript提供了一個(gè)RegExp對(duì)象來(lái)完成有關(guān)正則表達(dá)式的操作和功能,每一條正則表達(dá)式模式對(duì)應(yīng)一個(gè)RegExp實(shí)例。有兩種方式可以創(chuàng)建RegExp對(duì)象的實(shí)例。
使用RegExp的顯式構(gòu)造函數(shù),語(yǔ)法為:new RegExp("pattern"[,"flags"]);使用RegExp的隱式構(gòu)造函數(shù),采用純文本格式:/pattern/[flags]。例4中兩條語(yǔ)句是等價(jià)的。
例4:
var re1 = new RegExp("\\d{5}");
var re2 = /\d{5}/;
3、字符串的搜索及exec()方法的使用
exec()方法返回一個(gè)數(shù)組,其中存放匹配的結(jié)果。如果未找到匹配,則返回值為 null。
例5:
var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var m=reg.exec("Lili,14,China");
var s="";
for (i = 0; i < m.length; i++) {
s = s + m[i] + "\n";
}
alert(s);
4、test()方法的使用
RegExpObject.test(string)
如果字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。
例6:
var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var m=reg.test("Lili,14,China");
alert(RegExp.$1);
alert(RegExp.$2);
alert(RegExp.$3);
相關(guān)文章
微信小程序登錄數(shù)據(jù)解密及狀態(tài)維持實(shí)例詳解
這篇文章主要介紹了微信小程序登錄數(shù)據(jù)解密及狀態(tài)維持,結(jié)合實(shí)例形式分析了微信小程序解密敏感信息及獲取session保持登陸狀態(tài)的相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
Document:getElementsByName()使用方法及示例
Document:getElementsByName()想必大家對(duì)它并不陌生吧,主要是根據(jù)名稱獲取元素,下面是其具體的使用方法及范例,感興趣的朋友不要錯(cuò)過(guò)2013-10-10
JavaScript樹(shù)的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法示例
這篇文章主要介紹了JavaScript樹(shù)的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法,結(jié)合實(shí)例形式分析了JavaScript樹(shù)的深度優(yōu)先遍歷、廣度優(yōu)先遍歷遞歸與非遞歸相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-07-07
10行原生JS實(shí)現(xiàn)文字無(wú)縫滾動(dòng)(超簡(jiǎn)單)
下面小編就為大家分享一篇10行原生JS實(shí)現(xiàn)文字無(wú)縫滾動(dòng)的效果,特別簡(jiǎn)單,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2018-01-01
使用原生JS添加進(jìn)場(chǎng)和退場(chǎng)動(dòng)畫(huà)詳解
總所周知啊,身為一個(gè)合格的前端搬磚工,會(huì)編寫并且添加一些基礎(chǔ)的動(dòng)畫(huà)效果可謂是比較基礎(chǔ)且輕車熟路的技能了。本文將教大家如何使用原生JS添加進(jìn)場(chǎng)和退場(chǎng)動(dòng)畫(huà),感興趣的可以了解一下2022-10-10

