婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > js正則函數match、exec、test、search、replace、split使用介紹集合

js正則函數match、exec、test、search、replace、split使用介紹集合

熱門標簽:惠安地圖標注 哈爾濱公司外呼系統代理 山東外呼系統聯系方式 地圖標注店鋪地圖標注酒店 淄博市張店區地圖標注 遼寧秒客來電話機器人 浙江營銷外呼系統有哪些 自己做的電銷機器人 上海銷售電銷機器人軟件
match 方法
使用正則表達式模式對字符串執行查找,并將包含查找的結果作為數組返回。
stringObj.match(rgExp)
參數
stringObj
必選項。對其進行查找的 String 對象或字符串文字。
rgExp
必選項。為包含正則表達式模式和可用標志的正則表達式對象。也可以是包含正則表達式模式和可用標志的變量名或字符串文字。
其余說明與exec一樣,不同的是如果match的表達式匹配了全局標記g將出現所有匹配項,而不用循環,但所有匹配中不會包含子匹配項。
例子1:
function MatchDemo(){ var r, re; // 聲明變量。 var s = "The rain in Spain falls mainly in the plain"; re = /(a)in/ig; // 創建正則表達式模式。 r = s.match(re); // 嘗試去匹配搜索字符串。 document.write(r); // 返回的數組包含了所有 "ain" 出現的四個匹配,r[0]、r[1]、r[2]、r[3]。 // 但沒有子匹配項a。}輸出結果:ain,ain,ain,ain
exec 方法
用正則表達式模式在字符串中查找,并返回該查找結果的第一個值(數組),如果匹配失敗,返回null。
rgExp.exec(str)
參數
rgExp
必選項。包含正則表達式模式和可用標志的正則表達式對象。
str
必選項。要在其中執行查找的 String 對象或字符串文字。
返回數組包含:
input:整個被查找的字符串的值;
index:匹配結果所在的位置(位);
lastInput:下一次匹配結果的位置;
arr:結果值,arr[0]全匹配結果,arr[1,2...]為表達式內()的子匹配,由左至右為1,2...。
例子2:
復制代碼 代碼如下:

function RegExpTest(){
var src="http://sumsung753.blog.163.com/blog/I love you!";
var re = /\w+/g; // 注意g將全文匹配,不加將永遠只返回第一個匹配。
var arr;
while((arr = re.exec(src)) !=null){ //exec使arr返回匹配的第一個,while循環一次將使re在g作用尋找下一個匹配。
document.write(arr.index + "-" + arr.lastIndex + ":" + arr + "br/>");
for(key in arr){
document.write(key + "=>" + arr[key] + "br/>");
}
document.write("br/>");
}
}
window.onload = RegExpTest();

輸出結果:
0-1:I //0為index,i所在位置,1為下一個匹配所在位置
input=>I love you!
index=>0
lastIndex=>1
0=>I
2-6:love
input=>I love you!
index=>2
lastIndex=>6
0=>love
7-10:you
input=>I love you!
index=>7
lastIndex=>10
0=>you
說明:根據手冊,exec只返回匹配結果的第一個值,比如上例如果不用while循環,將只返回'I'(盡管i空格后的love和you都符合表達式),無論re表達式用不用全局標記g。但是如果為正則表達式設置了全局標記g,exec 從以 lastIndex 的值指示的位置開始查找。如果沒有設置全局標志,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。利用這個特點可以反復調用exec遍歷所有匹配,等價于match具有g標志。
當然,如果正則表達式忘記用g,而又用循環(比如:while、for等),exec將每次都循環第一個,造成死循環。
exec的輸出將包含子匹配項。
例子3:
復制代碼 代碼如下:

function execDemo(){
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = /[\w]*(ai)n/ig;
r = re.exec(s);
document.write(r + "br/>");
for(key in r){
document.write(key + "-" + r[key] + "br/>");
}
}
window.onload = execDemo();

輸出:
rain,ai
input-The rain in Spain falls mainly in the plain
index-4
lastIndex-8
0-rain
1-ai
test 方法
返回一個 Boolean 值,它指出在被查找的字符串中是否匹配給出的正則表達式。
rgexp.test(str)
參數
rgexp
必選項。包含正則表達式模式或可用標志的正則表達式對象。
str
必選項。要在其上測試查找的字符串。
說明
test 方法檢查字符串是否與給出的正則表達式模式相匹配,如果是則返回 true,否則就返回 false。
例子4:
復制代碼 代碼如下:

function TestDemo(re, s){
var s1;
if (re.test(s))
s1 = " 匹配正則式 ";
else
s1 = " 不匹配正則式 ";
return("'" + s + "'" + s1 + "'"+ re.source + "'");
}
window.onload = document.write(TestDemo(/ab/,'cdef'));

輸出結果:'cdef' 不匹配正則式 'ab'
注意:test()繼承正則表達式的lastIndex屬性,表達式在匹配全局標志g的時候須注意。
例子5:
復制代碼 代碼如下:

function testDemo(){
var r, re; // 聲明變量。
var s = "I";
re = /I/ig; // 創建正則表達式模式。
document.write(re.test(s) + "br/>"); // 返回 Boolean 結果。
document.write(re.test(s) + "br/>");
document.write(re.test(s));
}
testDemo();

輸出結果:
true
false
true
當第二次調用test()的時候,lastIndex指向下一次匹配所在位置1,所以第二次匹配不成功,lastIndex重新指向0,等于第三次又重新匹配。下例顯示test的lastIndex屬性:
例子6:
復制代碼 代碼如下:

function testDemo(){
var r, re; // 聲明變量。
var s = "I";
re = /I/ig; // 創建正則表達式模式。
document.write(re.test(s) + "br/>"); // 返回 Boolean 結果。
document.write(re.lastIndex); // 返回 Boolean 結果。
}
testDemo();

輸出:
true
1
解決方法:將test()的lastIndex屬性每次重新指向0,re.lastIndex = 0;

search 方法
返回與正則表達式查找內容匹配的第一個子字符串的位置(偏移位)。
stringObj.search(rgExp)
參數
stringObj
必選項。要在其上進行查找的 String 對象或字符串文字。
rgExp
必選項。包含正則表達式模式和可用標志的正則表達式對象。
說明:如果找到則返回子字符至開始處的偏移位,否則返回-1。
例子6:
復制代碼 代碼如下:

function SearchDemo(){
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain.";
re = /falls/i; // 創建正則表達式模式。
re2 = /tom/i;
r = s.search(re); // 查找字符串。
r2 = s.search(re2);
return("r:" + r + ";r2:" + r2); // 返回 Boolean 結果。
}
document.write(SearchDemo());

輸出:r:18;r2:-1
replace 方法
返回根據正則表達式進行文字替換后的字符串的復制。
stringObj.replace(rgExp, replaceText)
參數
stringObj
必選項。要執行該替換的 String 對象或字符串文字。該字符串不會被 replace 方法修改。
rgExp
必選項。為包含正則表達式模式或可用標志的正則表達式對象。也可以是 String 對象或文字。如果 rgExp 不是正則表達式對象,它將被轉換為字符串,并進行精確的查找;不要嘗試將字符串轉化為正則表達式。
replaceText
必選項。是一個String 對象或字符串文字,對于stringObj 中每個匹配 rgExp 中的位置都用該對象所包含的文字加以替換。在 Jscript 5.5 或更新版本中,replaceText 參數也可以是返回替換文本的函數。
說明
replace 方法的結果是一個完成了指定替換的 stringObj 對象的復制。意思為匹配的項進行指定替換,其它不變作為StringObj的原樣返回。
ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作為替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了匹配在 stringObject 中出現的位置。最后一個參數是 stringObject 本身。結果為將每一匹配的子字符串替換為函數調用的相應返回值的字符串值。函數作參可以進行更為復雜的操作。
例子7:
復制代碼 代碼如下:

function f2c(s) {
var test = /(\d+(\.\d*)?)F\b/g; // 說明華氏溫度可能模式有:123F或123.4F。注意,這里用了g模式
return(s.replace
(test,
function(Regstr,$1,$2,$3,newstrObj) {
return(("br/>" + Regstr +"br/>" + ($1-32) * 1/2) + "C" +"br/>" + //以下兩行進行替換
$2 +"br/>" + $3 +"br/>" + newstrObj +"br/>" );
}
)
);
}
document.write(f2c("Water: 32.2F and Oil: 20.30F."));

輸出結果:
Water: //不與正則匹配的字符,按原字符輸出
32.2F //與正則相匹配的第一個字符串的原字符串 Regstr
0.10000000000000142C //與正則相匹配的第一個字符串的第一個子模式匹配的替換結果 $1
.2 //與正則相匹配的第一個字符串的第二個子模式匹配項的替換結果,這里我們沒有將它替換 $2
7 //與正則相匹配的第一個字符串的第一個子匹配出現的偏移量 $3
Water: 32.2F and Oil: 20.30F. //原字符串 newstrObj
and Oil: //不與正則匹配的字符
20.30F //與正則相匹配的第二個字符串的原字符串
-5.85C //與正則相匹配的第二個字符串的第一個子模式與匹配的替換結果
.30 //與正則相匹配的第二個字符串的第二個子模式匹配項的替換結果,這里我們沒有將它替換
22 //與正則相匹配的第二個字符串的第一個子匹配出現的偏移量
Water: 32.2F and Oil: 20.30F. //原字符串
. //不與正則匹配的字符
上面的函數參數我們全部用到了。在實際中,我們只須用將xxF替換為xxC,根據要求,我們無須寫這么多參數。
例子8:
復制代碼 代碼如下:

function f2c(s) {
var test = /(\d+(\.\d*)?)F\b/g; // 說明華氏溫度可能模式有:123F或123.4F
return(s.replace
(test,
function(strObj,$1) {
return((($1-32) * 1/2) + "C");
}
)
);
}
document.write(f2c("Water: 32.2F and Oil: 20.30F."));

輸出:Water: 0.10000000000000142C and Oil: -5.85C.
更多的應用:
例子9:
復制代碼 代碼如下:

function f2c(s) {
var test = /([\d]{4})-([\d]{1,2})-([\d]{1,2})/;
return(s.replace
(test,
function($0,$1,$2,$3) {
return($2 +"/" + $1);
}
)
);
}
document.write(f2c("today: 2011-03-29"));

輸出:today: 03/2011
split 方法
將一個字符串分割為子字符串,然后將結果作為字符串數組返回。
stringObj.split([separator[, limit]])
參數
stringObj
必選項。要被分解的 String 對象或文字。該對象不會被 split 方法修改。
separator
可選項。字符串或 正則表達式 對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數組。
limit
可選項。該值用來限制返回數組中的元素個數。
說明
split 方法的結果是一個字符串數組,在 stingObj 中每個出現 separator 的位置都要進行分解。separator 不作為任何數組元素的部分返回。
例子10:
復制代碼 代碼如下:

function SplitDemo(){
var s, ss;
var s = "The rain in Spain falls mainly in the plain.";
// 正則表達式,用不分大不寫的s進行分隔。
ss = s.split(/s/i);
return(ss);
}
document.write(SplitDemo());

輸出:The rain in ,pain fall, mainly in the plain.

js正則表達式之exec()方法、match()方法以及search()方法

先看代碼:

var sToMatch = "test, Tes, tst, tset, Test, Tesyt, sTes";
var reEs = /es/gi;
alert(reEs.exec(sToMatch));
alert(sToMatch.match(reEs));
alert(sToMatch.search(reEs));

三個彈出框內容如下:

結果分析如下:

1、RegExp的exec()方法,有一個字符串參數,返回一個數組,數組的第一個條目是第一個匹配;其他的是反向引用。所以第一個返回的結果是第一個匹配的值es(不區分大小寫)。

2、String對象有一個match()方法,它返回一個包含在字符串中所有匹配的數據。這個方法調用string對象,同時傳給它一個RegExp對象。所以第二個彈出語句返回的是所有符合正則表達式的數組。

3、search()的字符串方法與indexOf()有些類似,但是它使用一個RegExp對象而非僅僅一個子字符串。search()方法返回第一個匹配值的位置。所以第三處彈出的是“1”,即第二個字符就匹配了。注意的是search()方法不支持全局匹配正規表達式(帶參數g)。

您可能感興趣的文章:
  • JavaScript String.replace函數參數實例說明
  • 關于JS字符串函數String.replace()
  • js正則表達式之replace函數用法
  • js中字符替換函數String.replace()使用技巧
  • javascript中使用replaceAll()函數實現字符替換的方法
  • javascript中字符串替換函數replace()方法與c# 、vb 替換有一點不同
  • JSP中的字符替換函數 str_replace() 實現!
  • javascript中的replace函數(帶注釋demo)

標簽:銅川 宣城 西安 泰州 重慶 長沙 無錫 綿陽

巨人網絡通訊聲明:本文標題《js正則函數match、exec、test、search、replace、split使用介紹集合》,本文關鍵詞  正則,函數,match,exec,test,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《js正則函數match、exec、test、search、replace、split使用介紹集合》相關的同類信息!
  • 本頁收集關于js正則函數match、exec、test、search、replace、split使用介紹集合的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美tickle裸体挠脚心vk| 久久久一区二区| 欧美影院精品一区| 91麻豆精品国产自产在线观看一区 | 国产精品福利影院| 中文字幕在线一区二区三区| 亚洲成人免费观看| 免费国产亚洲视频| 91亚洲男人天堂| 欧美午夜不卡在线观看免费| 91片黄在线观看| 欧美在线视频你懂得| 亚洲三级在线免费观看| 国产一区二区三区精品视频| 91小视频在线| 国产精品久久夜| 狠狠色丁香婷婷综合| 成人99免费视频| 欧美日韩国产免费| 久久疯狂做爰流白浆xx| 欧美伊人精品成人久久综合97 | 日韩一级大片在线观看| 亚洲综合免费观看高清完整版在线| 国产成人免费网站| 日韩毛片视频在线看| 在线中文字幕一区| 午夜精品视频一区| 91精品国产免费| 蜜臀久久99精品久久久久久9| 欧美自拍偷拍午夜视频| 亚洲视频综合在线| 日韩一区二区三区在线观看| 国产一区二区三区在线看麻豆| 最新不卡av在线| 成人aa视频在线观看| 日本欧洲一区二区| 国产欧美日韩久久| 国产成人丝袜美腿| 成人免费高清在线观看| 无码av中文一区二区三区桃花岛| 日韩免费高清av| 色婷婷精品大在线视频| 婷婷久久综合九色综合伊人色| 久久综合九色综合97婷婷女人| 激情丁香综合五月| 亚洲一区二区精品视频| 久久亚洲影视婷婷| 日韩一级高清毛片| 欧美日韩国产美女| 91玉足脚交白嫩脚丫在线播放| 麻豆成人91精品二区三区| 一区二区三区**美女毛片| 91在线精品一区二区| 色婷婷综合久久久中文一区二区| 国产揄拍国内精品对白| 亚洲制服欧美中文字幕中文字幕| 久久久三级国产网站| 欧美α欧美αv大片| 欧美三级三级三级爽爽爽| 日韩一区二区三区在线| 欧美一区二区三区视频在线| 欧美videossexotv100| 亚洲精品一区二区三区在线观看| 欧美美女黄视频| 欧美日韩三级视频| 色噜噜狠狠色综合中国| 欧美电影一区二区三区| 精品不卡在线视频| 一区二区在线观看不卡| 美脚の诱脚舐め脚责91| 国产福利不卡视频| 国产成人免费网站| 99精品欧美一区二区蜜桃免费 | 最新热久久免费视频| 亚洲伦理在线精品| 蜜桃av一区二区在线观看| 91在线看国产| 精品嫩草影院久久| 国产精品三级视频| 日韩精彩视频在线观看| 一区二区免费看| 久久精品国产秦先生| 国产白丝网站精品污在线入口| 欧洲一区二区三区在线| 一区二区三区四区亚洲| 开心九九激情九九欧美日韩精美视频电影 | 亚洲观看高清完整版在线观看| 精品理论电影在线观看| 欧美一区二区日韩| 一区二区在线电影| 激情五月播播久久久精品| 欧美国产精品一区二区三区| 久久99精品一区二区三区| 成人综合婷婷国产精品久久 | 欧美日韩精品一区二区三区| 国产精品传媒入口麻豆| 国产成人亚洲精品狼色在线| 色婷婷狠狠综合| 久久久久99精品国产片| 国产91精品精华液一区二区三区| 国产三级欧美三级日产三级99| 亚洲丝袜制服诱惑| 91视频观看免费| 日本最新不卡在线| 欧美一区二区三区系列电影| 日韩二区三区在线观看| 欧美国产精品一区| 国产精品久久久久影院亚瑟| 麻豆精品精品国产自在97香蕉| 91美女福利视频| 午夜视频一区在线观看| 欧美日韩成人综合在线一区二区| 在线视频国产一区| 久久精品国产亚洲一区二区三区| 欧美成人免费网站| caoporen国产精品视频| 亚洲精品日产精品乱码不卡| 欧美tk—视频vk| 欧美一区二区在线免费播放| 岛国精品在线播放| 国产女主播视频一区二区| 99精品视频在线播放观看| 蜜臀a∨国产成人精品| 亚洲大片在线观看| 日韩精品一二区| 国内外成人在线| 91精品一区二区三区在线观看| 一本久道久久综合中文字幕| 麻豆精品久久精品色综合| 精品国产一区二区亚洲人成毛片| 国产精品午夜电影| 欧美日韩精品欧美日韩精品一| 国产精品久久久久久久蜜臀| 成a人片亚洲日本久久| 亚洲高清免费在线| 91蜜桃免费观看视频| 国产精品网站在线| 51精品久久久久久久蜜臀| 成人精品国产一区二区4080| 亚洲超丰满肉感bbw| 蜜桃视频在线观看一区| 欧美va在线播放| 麻豆91在线观看| 日韩av电影一区| 久久成人免费电影| 国产一区亚洲一区| 麻豆国产精品官网| 欧美日韩一区精品| 国产呦萝稀缺另类资源| 一级中文字幕一区二区| 日本中文字幕一区二区有限公司| 国产精品色噜噜| 国产精品久久久久aaaa| 国产欧美一区二区在线观看| 久久精品99国产精品日本| 午夜国产精品影院在线观看| 九九国产精品视频| 不卡一区中文字幕| 成人性生交大片免费看中文| 国产成人aaaa| 久久一区二区三区四区| 久久精品国产精品亚洲综合| 不卡电影一区二区三区| 欧美亚洲国产一区二区三区va | 懂色av中文一区二区三区| 国产精品理论在线观看| 亚洲精品高清在线观看| 成人国产在线观看| 久久久久88色偷偷免费| 国产激情一区二区三区桃花岛亚洲| 色综合天天综合在线视频| 国产精品护士白丝一区av| 国产成人自拍网| 在线看国产一区| 国产欧美一区二区三区网站| 偷拍日韩校园综合在线| 色综合久久66| 亚洲图片自拍偷拍| 国产精品综合二区| 精品日韩一区二区三区| 国产成人激情av| 一区二区中文字幕在线| 色综合天天综合网国产成人综合天 | 亚洲午夜av在线| 精品日韩一区二区| 国产91精品露脸国语对白| 中文字幕综合网| 精品国产精品一区二区夜夜嗨| 国产美女在线观看一区| 日韩毛片视频在线看| 国产丝袜欧美中文另类| 日本精品免费观看高清观看| www国产成人免费观看视频 深夜成人网| 亚洲一区av在线| 久久免费美女视频| 欧美一级片在线| 色噜噜狠狠一区二区三区果冻| 亚洲国产你懂的| 一区二区欧美视频| 国产欧美精品区一区二区三区|