亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

js正則表達(dá)式常用函數(shù)詳解

原創(chuàng) 2016-12-28 11:47:43 376
摘要:關(guān)于正則表達(dá)式,是前端學(xué)習(xí)的重點(diǎn)和難點(diǎn)。本文主要帶領(lǐng)大家一起應(yīng)用一些正則表達(dá)式,簡(jiǎn)單介紹一些正則表達(dá)式中常用的方法及對(duì)象一、js正則表達(dá)式之replace函數(shù)用法:函數(shù)功能:replace函數(shù)返回根據(jù)正則表達(dá)式進(jìn)行文字替換后的字符串的復(fù)制。 函數(shù)格式:stringObj.replace(rgExp, replaceText) 參數(shù):字符串stringObj,rgExp正則表達(dá)式

關(guān)于正則表達(dá)式,是前端學(xué)習(xí)的重點(diǎn)和難點(diǎn)。本文主要帶領(lǐng)大家一起應(yīng)用一些正則表達(dá)式,簡(jiǎn)單介紹一些正則表達(dá)式中常用的方法及對(duì)象

一、js正則表達(dá)式之replace函數(shù)用法:

函數(shù)功能:replace函數(shù)返回根據(jù)正則表達(dá)式進(jìn)行文字替換后的字符串的復(fù)制。 

函數(shù)格式:stringObj.replace(rgExp, replaceText) 

參數(shù):字符串stringObj,rgExp正則表達(dá)式,replaceText所替換的內(nèi)容 
本模塊涉及的內(nèi)容包括字符串創(chuàng)建,正則表達(dá)式隱式創(chuàng)建對(duì)象,創(chuàng)建正則表達(dá)式,進(jìn)行replace方法的使用匹配 
示例代碼: 

<html>
<script language="javascript" type="text/javascript">
//要替換的字符串的內(nèi)容
var objStr=new String("Designed By Androidyue");
//隱式創(chuàng)建正則表達(dá)式對(duì)象
var reG=/e/w?/g;//全局匹配(g為全局匹配參數(shù)),匹配e或者e??jī)?nèi)容
var re=/e/w?/;//沒有指定參數(shù),值進(jìn)行一次匹配
with(document){
write("進(jìn)行匹配前的字符串"+objStr+"<br>");
write("進(jìn)行了全局匹配的字符串"+objStr.replace(reG,"**")+"<br>");
write("進(jìn)行匹配,沒有指定參數(shù)值進(jìn)行一次匹配"+objStr.replace(re,"××"));
}
</script>
</html>

   

二、js正則表達(dá)式之test函數(shù)用法

功能介紹:該方法的返回值是布爾值,通過該值可以匹配字符串中是否存在于正則表達(dá)式相匹配的結(jié)果,如果有匹配內(nèi)容,返回ture,如果沒有匹配內(nèi)容返回false,該方法常用于判斷用戶輸入數(shù)據(jù)的合法性,比如檢驗(yàn)Email的合法性

基本語(yǔ)法:

objReg.test(objStr) 
objReg 必選項(xiàng) RegExp對(duì)象名稱 
objStr 要進(jìn)行匹配檢測(cè)的字符串 
示例代碼:

<html>
<script language="javascript" type="text/javascript">
/*Designed By Androidyue*/
/*
功能:檢測(cè)Email地址的合法性
*/
function checkEmail(){
//獲取文本框中用戶輸入Email的信息
var objStr=document.getElementById("email").value;
//設(shè)置匹配Email的正則表達(dá)式
var objReg=//w+[@]{1}/w+[.]/w+/;
//document.write(objStr);
//如果判斷字符串中是否存在匹配內(nèi)容,如果存在提示正確信息,否則返回錯(cuò)誤
if(objReg.test(objStr)){
alert("該Email地址是合法的!");
}else{
alert("該Email地址是非法的!");
}
}
</script>
<body>
請(qǐng)輸入Email地址:
<input type="text" id="email"><!--設(shè)置Email輸入框-->
<input type="button" value="檢測(cè)合法性" onclick="checkEmail()"><!--設(shè)置按鈕用于出發(fā)檢測(cè)Email合法性事件-->
</body>
</html>

   

三、js正則表達(dá)式之match函數(shù)用法

函數(shù)功能:使用正則表達(dá)式模式對(duì)字符串執(zhí)行查找,并將包含查找的結(jié)果作為數(shù)組返回 
函數(shù)格式:stringObj.match(rgExp) stringObj為字符串必選 rgExp為正則表達(dá)式必選項(xiàng) 
返回值:如果能匹配則返回結(jié)果數(shù)組,如果不能匹配返回null 

<html>
<script language="javascript" type="text/javascript">
//使用正則表達(dá)式模式對(duì)字符串執(zhí)行查找,并將包含查找的結(jié)果作為數(shù)組返回
var objStr=new String("Yue I love you till the end of my life!");
var re=//wo(/w+)?/g;//該表達(dá)式用來匹配一個(gè)以/w代表的字符,第二個(gè)字符是o,后面有一個(gè)字符或者多個(gè)字符+表示前面的字符匹配的次數(shù),全局匹配
var arr=objStr.match(re);//調(diào)用match方法匹配字符串并且如果存在返回?cái)?shù)組,如果沒有結(jié)果返回為null
document.write("匹配前的字符串:"+objStr+"<br>");//輸出匹配前的字符串
if(arr!=null){//如果能匹配成功即arr數(shù)組不為空,循環(huán)輸出結(jié)果
for(var i=0;i<arr.length;i++){
document.write("<li>"+arr[i]);
}
}
</script>
</html>

   

四、js正則表達(dá)式之search方法講解

功能:返回與正則表達(dá)式查找內(nèi)容匹配的第一個(gè)子字符串的位置 

語(yǔ)法:stringObj.search(rgExp) stringObj 必選項(xiàng) rgExp正則表達(dá)式 

返回值:search 方法指明是否存在相應(yīng)的匹配。如果找到一個(gè)匹配,search方法將返回一個(gè)整數(shù)值,指明這個(gè)匹配距離字符串開始的偏移位置。如果沒有找到匹配,則返回 -1 

<html>
<script language="javascript" type="text/javascript">
//search 方法指明是否存在相應(yīng)的匹配。如果找到一個(gè)匹配,search 方法將返回一個(gè)整數(shù)值,指明這個(gè)匹配距離字符串開始的偏移位置。如果沒有找到匹配,則返回 -1
var re=/(/d)(/d)/d/2/1/;//設(shè)置正則表達(dá)式
var ostr="11010111";//所要匹配的字符串,字符串第一個(gè)位置從0開始
var pos=ostr.search(re);//進(jìn)行字符串匹配
if(pos==-1){//如果沒有找到匹配
document.write("沒有找到任何匹配");
}
else{
arr=ostr.match(re);//進(jìn)行match找出匹配的內(nèi)容
document.write("在"+pos+"找到第一個(gè)匹配,匹配內(nèi)容為:");
document.write(arr[0]);//輸出匹配的內(nèi)容
}
</script>
</html>

   

五、js正則表達(dá)式之exec方法講解

功能說明:該函數(shù)通過對(duì)指定你的字符串進(jìn)行一次匹配檢測(cè),獲取字符串中的第一個(gè)與正則表達(dá)式的內(nèi)容,并且將匹配的內(nèi)容和子匹配的結(jié)果存放在返回?cái)?shù)組中。 
基本方法:

objReg.exec(string) 
objReg,RegExp對(duì)象的名稱 
string,要進(jìn)行匹配的字符串 

<html>
<script language="javascript" type="text/javascript">
//設(shè)置匹配的字符串
var objStr="我的手機(jī)號(hào)13522222222,他的手機(jī)號(hào)13288888888,她的手機(jī)號(hào)碼13699999999";
//設(shè)置正則表達(dá)式,匹配以13開頭11位字符串,全局匹配
var reg=/13(/d)(/d{8})/g;
//執(zhí)行exec函數(shù),盡管是全局匹配的正則表達(dá)式,但是exec方法只對(duì)指定的字符串進(jìn)行一次匹配,獲取字符串中第一個(gè)與正則表達(dá)式想匹配的內(nèi)容,并且將匹配內(nèi)容和子匹配的結(jié)果存儲(chǔ)到返回的數(shù)組中
var arr=reg.exec(objStr);
//循環(huán)輸出結(jié)果
for(var i=0;i<arr.length;i++){
document.write("<li>"+arr[i]+"<br>");
}
</script>
</html>

以上就是為大家分享的五個(gè)常用函數(shù)的使用方法,內(nèi)容很詳細(xì),包括test、exec、match、replace、search,希望對(duì)大家學(xué)習(xí)掌握js正則表達(dá)式有所幫助。

更多關(guān)于js正則表達(dá)式常用函數(shù)詳解請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其它文章!

發(fā)布手記

熱門詞條