JavaScript正则表达式提取HTML表格数据详解

作者:窗边听雨

时间:2026-10-26

浏览:585

本文介绍如何在JavaScript中利用正则表达式解析非标准HTML页面中的表格数据。通过定义包含分组捕获的正则模式,结合RegExp.exec方法的循环遍历,可以逐行提取表格内容。示例展示了如何将ID、姓名和电话等字段映射为对象属性,并存储至数组中,实现从松散HTML到结构化JS数据的转换。

文章目录

JavaScript正则提取HTML表格数据

面对结构松散的HTML页面,且无法使用XML解析器时,我们需要寻找其他数据提取方案。


本文的核心目标是处理网页中存在的Table或List段落,并将这些信息按列的形式提取并保存至JavaScript数组中。


以下是具体的实现代码示例。


代码如下:

 
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 就保存了匹配的数据表格,打印出来看看:
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);
} 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章