JavaScript中使用正則匹配多條,且獲取每條中的分組數(shù)據(jù)
更新時間:2010年11月30日 22:35:28 作者:
該問題在使用Ajax遠(yuǎn)程獲取某網(wǎng)頁數(shù)據(jù)時經(jīng)常遇見 如果目標(biāo)頁面是XML,就好辦了,實用XMLDOM可以很輕松完成任務(wù)。
不過我要面對的是一個很松散的HTML頁面,無法XML
因此,本文的重點在于如果要獲取的網(wǎng)頁中有Table或List段落,需要將這些段落的信息按照列的方式保存到JS的數(shù)組中
直接貼代碼:
var str = "字符串字符串<table><tr><th>ID</th><th>姓名</th><th>電話</th></tr><tr><td>01</td><td>張三</td><td>1234567</td></tr><tr><td>02</td><td>李四</td><td>343434</td></tr><tr><td>03</td><td>王五</td><td>685654</td></tr></table>字符串字符串";
var regRecord = new RegExp('\\<tr>\\<td>([0-9]{2})\\<\\/td\\>\\<td>([^\\<]+)\\<\\/td\\>\\<td>([0-9]+)\\<\\/td\\>\\<\\/tr\\>','g');
var fieldIndex = { 'Id' : 1 , 'Name' : 2 , 'Phone' : 3 }
var g_records = [],record;
while ((record = regRecord.exec(str)) != null){
g_records.push({
'Id' : RegExp["$"+fieldIndex.Id]
,'Name' : RegExp["$"+fieldIndex.Name]
,'Phone' : RegExp["$"+fieldIndex.Phone]
});
}
//此時 g_records 就保存了匹配的數(shù)據(jù)表格,打印出來看看:
for(var i=0;i<g_records.length;i++){
alert("ID:" + g_records[i].Id + ";Name:" + g_records[i].Name + ";Phone:" + g_records[i].Phone);
}
因此,本文的重點在于如果要獲取的網(wǎng)頁中有Table或List段落,需要將這些段落的信息按照列的方式保存到JS的數(shù)組中
直接貼代碼:
復(fù)制代碼 代碼如下:
var str = "字符串字符串<table><tr><th>ID</th><th>姓名</th><th>電話</th></tr><tr><td>01</td><td>張三</td><td>1234567</td></tr><tr><td>02</td><td>李四</td><td>343434</td></tr><tr><td>03</td><td>王五</td><td>685654</td></tr></table>字符串字符串";
var regRecord = new RegExp('\\<tr>\\<td>([0-9]{2})\\<\\/td\\>\\<td>([^\\<]+)\\<\\/td\\>\\<td>([0-9]+)\\<\\/td\\>\\<\\/tr\\>','g');
var fieldIndex = { 'Id' : 1 , 'Name' : 2 , 'Phone' : 3 }
var g_records = [],record;
while ((record = regRecord.exec(str)) != null){
g_records.push({
'Id' : RegExp["$"+fieldIndex.Id]
,'Name' : RegExp["$"+fieldIndex.Name]
,'Phone' : RegExp["$"+fieldIndex.Phone]
});
}
//此時 g_records 就保存了匹配的數(shù)據(jù)表格,打印出來看看:
for(var i=0;i<g_records.length;i++){
alert("ID:" + g_records[i].Id + ";Name:" + g_records[i].Name + ";Phone:" + g_records[i].Phone);
}
您可能感興趣的文章:
- JavaScript正則替換HTML標(biāo)簽功能示例
- php正則去除網(wǎng)頁中所有的html,js,css,注釋的實現(xiàn)方法
- Java/Js下使用正則表達(dá)式匹配嵌套Html標(biāo)簽
- javascript下一個還原h(huán)tml代碼的正則
- JS正則表達(dá)式獲取字符串中特定字符的方法
- javascript 獲取url參數(shù)的正則表達(dá)式(用來獲取某個參數(shù)值)
- 在JavaScript中獲取請求的URL參數(shù)[正則]
- Javascript 獲取鏈接(url)參數(shù)的方法[正則與截取字符串]
- node.js正則表達(dá)式獲取網(wǎng)頁中所有鏈接的代碼實例
- JS獲取網(wǎng)址中指定值的正則函數(shù)
- javascript 獲取鏈接文件地址中第一個斜線內(nèi)的正則表達(dá)式
- javascript使用正則獲取url上的某個參數(shù)
- JS正則獲取HTML元素的方法
相關(guān)文章
Javascript 類型轉(zhuǎn)換、封閉函數(shù)及常見內(nèi)置對象操作示例
這篇文章主要介紹了Javascript 類型轉(zhuǎn)換、封閉函數(shù)及常見內(nèi)置對象操作,結(jié)合實例形式分析了JavaScript類型顯示轉(zhuǎn)換、隱式轉(zhuǎn)換、變量作用域、封閉函數(shù)及常用內(nèi)置對象相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
layUI使用layer.open,在content打開數(shù)據(jù)表格,獲取值并返回的方法
今天小編就為大家分享一篇layUI使用layer.open,在content打開數(shù)據(jù)表格,獲取值并返回的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
three.js利用射線Raycaster進(jìn)行碰撞檢測
這篇文章主要為大家詳細(xì)介紹了three.js利用射線Raycaster進(jìn)行碰撞檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03
document.open() 與 document.write()的區(qū)別
document.open() 與 document.write()的區(qū)別...2007-08-08

