溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-08-05 23:45:33 來源:億速云 閱讀:132 作者:chen 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“js正則表達(dá)式常用函數(shù)介紹”,在日常操作中,相信很多人在js正則表達(dá)式常用函數(shù)介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”js正則表達(dá)式常用函數(shù)介紹”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、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)建對象,創(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á)式對象 
var reG=/e/w?/g;//全局匹配(g為全局匹配參數(shù)),匹配e或者e?內(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的合法性

基本語法:

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

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

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

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

<html> 
<script language="javascript" type="text/javascript"> 
//使用正則表達(dá)式模式對字符串執(zhí)行查找,并將包含查找的結(jié)果作為數(shù)組返回 
var objStr=new String("Yue I love you till the end of my life!"); 
var re=//wo(/w+)?/g;//該表達(dá)式用來匹配一個以/w代表的字符,第二個字符是o,后面有一個字符或者多個字符+表示前面的字符匹配的次數(shù),全局匹配 
var arr=objStr.match(re);//調(diào)用match方法匹配字符串并且如果存在返回數(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)容匹配的第一個子字符串的位置

語法:stringObj.search(rgExp) stringObj 必選項 rgExp正則表達(dá)式

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

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

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

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

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

<html> 
<script language="javascript" type="text/javascript"> 
//設(shè)置匹配的字符串 
var objStr="我的手機(jī)號13522222222,他的手機(jī)號13288888888,她的手機(jī)號碼13699999999"; 
//設(shè)置正則表達(dá)式,匹配以13開頭11位字符串,全局匹配 
var reg=/13(/d)(/d{8})/g; 
//執(zhí)行exec函數(shù),盡管是全局匹配的正則表達(dá)式,但是exec方法只對指定的字符串進(jìn)行一次匹配,獲取字符串中第一個與正則表達(dá)式想匹配的內(nèi)容,并且將匹配內(nèi)容和子匹配的結(jié)果存儲到返回的數(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>

到此,關(guān)于“js正則表達(dá)式常用函數(shù)介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI