JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010-10-29 16:49
381 查看
该问题在使用Ajax远程获取某网页数据时经常遇见
如果目标页面是XML,就好办了,实用XMLDOM可以很轻松完成任务。
不过我要面对的是一个很松散的HTML页面,无法XML
因此,本文的重点在于如果要获取的网页中有Table或List段落,需要将这些段落的信息按照列的方式保存到JS的数组中
直接贴代码:
如果目标页面是XML,就好办了,实用XMLDOM可以很轻松完成任务。
不过我要面对的是一个很松散的HTML页面,无法XML
因此,本文的重点在于如果要获取的网页中有Table或List段落,需要将这些段落的信息按照列的方式保存到JS的数组中
直接贴代码:
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); }
相关文章推荐
- JavaScript中使用正则匹配多条,且获取每条中的分组数据
- JavaScript中使用正则匹配多条,且获取每条中的分组数据
- 在C#中使用正则表达式自动匹配并获取所需要的数据
- 在C#中使用正则表达式自动匹配并获取所需要的数据
- JavaScript使用正则表达式获取全部分组内容的方法示例
- 在C#中使用正则表达式自动匹配并获取所需要的数据 (转)
- 在C#中使用正则表达式自动匹配并获取所需要的数据
- 如何使用JavaScript和正则表达式进行数据验证
- 详解JavaScript正则表达式之分组匹配及反向引用
- 在C#中如何使用正式表达式获取匹配所需数据
- 使用Hive的正则表达式匹配数据时为NULL
- JavaScript使用RegExp进行正则匹配的方法
- 用JavaScript实现form表单的数据提交--使用正则表达式对数据判断
- 如何使用JavaScript和正则表达式进行数据验证
- Java使用正则表达式匹配获取链接地址的方法示例
- javascript-使用el表达式获取后台传递的数据
- 正则表达式中的匹配,替换,切割,获取,这四个使用时具体用哪一个,进行案例分析
- 详解javascript 正则表达式之分组与前瞻匹配
- 使用javascript和正则表达式进行数据验证