JavaScript中使用正則匹配多條,且獲取每條中的分組數(shù)據(jù)
更新時間:2010年11月30日 22:35:28 作者:
該問題在使用Ajax遠程獲取某網(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下使用正則表達式匹配嵌套Html標(biāo)簽
- javascript下一個還原h(huán)tml代碼的正則
- JS正則表達式獲取字符串中特定字符的方法
- javascript 獲取url參數(shù)的正則表達式(用來獲取某個參數(shù)值)
- 在JavaScript中獲取請求的URL參數(shù)[正則]
- Javascript 獲取鏈接(url)參數(shù)的方法[正則與截取字符串]
- node.js正則表達式獲取網(wǎng)頁中所有鏈接的代碼實例
- JS獲取網(wǎng)址中指定值的正則函數(shù)
- javascript 獲取鏈接文件地址中第一個斜線內(nèi)的正則表達式
- javascript使用正則獲取url上的某個參數(shù)
- JS正則獲取HTML元素的方法
相關(guān)文章
ES6學(xué)習(xí)筆記之正則表達式和字符串正則方法分析
這篇文章主要介紹了ES6學(xué)習(xí)筆記之正則表達式和字符串正則方法,結(jié)合實例形式對比分析了ES5與ES6正則操作的常用函數(shù)功能與用法區(qū)別,需要的朋友可以參考下2017-04-04layui?框架的upload上傳文件的data參數(shù)傳到后端的方法
這篇文章主要介紹了layui框架的upload上傳文件的data參數(shù)傳到后端的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11JavaScript實現(xiàn)橫線提示輸入驗證碼隨輸入驗證碼輸入消失的方法
這篇文章主要介紹了JavaScript實現(xiàn)橫線提示輸入驗證碼隨輸入驗證碼輸入消失的方法,非常實用,在微信開發(fā)中經(jīng)常會用到,需要的朋友可以參考下2016-09-09詳解JS截取字符串的三個方法substring,substr,slice
js中有三個截取字符的方法,分別是substring()、substr()、slice(),平時我們可能都用到過,但總是會對這些方法有點混淆。本文將詳細介紹一下這三者的區(qū)別,需要的可以參考一下2022-03-03Ajax 文件上傳進度監(jiān)聽之upload.onprogress案例詳解
這篇文章主要介紹了Ajax 文件上傳進度監(jiān)聽之upload.onprogress案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09JS獲取DropDownList的value值與text值的示例代碼
本篇文章主要是對JS獲取DropDownList的value值與text值的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01