最近在做报表打印的时候,想偷懒一下,于是就将报表展示的页面里面的HTML全盘拷贝到另一个页面,然后直接调用windows的打印机,即(window.print方法)。
在实现过程中,出现了几个问题:
1、页面里面有后台传过来的JavaScript
2、页面中隐藏了一些DIV,DIV里面有一些iframe,它们会指向别的网页,并引用父页面的一些数据,但是因为当前展示的页面只拷贝了HTML,所以经常会报错
为了偷懒,于是写下了这些javascript的正则表达式
var reg=/<script language=[\"]?javascript[\"]?[^>]*>((.|\n|\t|\r)*?)<\/script>/gim;
说明:这个主要是去掉HTML中的JavaScript
var ifrReg = /< *?iframe[^>]*?(src *?= *?\"[^>]*?oss\/birt_report\/multiSelect.jsp[^>]*?\")[^>]*? *?>/gim;
说明:这个主要是查找那些特殊的iframe
var srcReg = /src *?= *?\"[^>]*?oss\/birt_report\/multiSelect.jsp[^>]*?\"/gim;
说明:这个主要是差早iframe里面的src
function replaceWord(word)
{
return word.replace(srcReg,"src=\"\"");
}
aDiv.innerHTML = bDiv.innerHTML.replace(reg,"").replace(ifrReg,replaceWord);
说明:替换
其实还有几个正则表达式,主要是想将HTML里面的隐藏的DIV挖出来,但是出现内存不足的提示,还是贴出来吧:
/]*?style *?= *?\"[^>]*?display *?: *?none *?;[^>]*?\" *?>/gim
说明:获取被隐藏的div标签
/]*?>((?!(]*?>))|\s)*?/gim
说明:查找成对的div标签,这里提示内存不足
分享到:
相关推荐
下面是一个简单的JavaScript示例代码,展示如何使用正则表达式匹配`<div>`和`<style>`标签: ```javascript // 示例字符串,包含div和style标签 var htmlString = '<div>这是一个div标签的内容。这是style标签中的...
例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...
HtmlRegexpUtil类中的filterHtml方法使用正则表达式来过滤所有以"开头以">"结尾的标签。该方法使用java.util.regex.Pattern和java.util.regex.Matcher类来实现正则表达式的匹配。filterHtml方法将输入的字符串str与...
6. **正则表达式引擎**:不同的编程语言和工具使用的正则表达式引擎可能不同,如Perl兼容(PCRE)、JavaScript的正则引擎等,它们对某些高级特性支持程度各异。 XML的相关知识点包括: 1. **XML结构**:XML文档由...
在VB6中使用正则表达式时,首先要创建一个RegExp对象,然后设置其Pattern属性为要匹配的正则表达式模式。例如,若要匹配所有数字,模式可以设为"\d+"。接下来,使用Execute方法在文本中执行匹配操作,结果将保存在...
在“标签”中提到了“正则表达式”和“测试工具”,这暗示了这个工具专注于正则表达式的测试和验证,可能包括以下特性: 1. 实时匹配:用户输入正则表达式和测试文本后,工具会立即显示匹配结果。 2. 模式解释:...
"通过正则表达式来批量修改文件名"是一个高级技巧,它利用了正则表达式的强大功能来实现灵活、精确的文件命名规则更改。在这个场景下,我们可以使用编程语言如Python、JavaScript或者专门的命令行工具来实现这一目标...
标题中的"(C#)正则表达式快速验证工具"指的是一个使用C#编程语言开发的软件应用,专门用于测试和验证正则表达式。在IT领域,正则表达式(Regex)是一种强大的文本处理工具,它能高效地进行模式匹配、搜索、替换等...
例如,你可以使用正则表达式检查用户输入的电话号码格式是否正确,或者在文档中查找符合特定规则的信用卡号。这种模式匹配能力使得正则表达式在处理动态或不确定的文本时具有极大的灵活性。 2. **数据验证**: ...
本篇文章将深入探讨如何使用JavaScript(简称JS)中的正则表达式来实现一个文本框仅能输入字母(包括大小写)和汉字的功能。 #### 1. 理解需求 题目所提及的需求是:创建一个HTML文本框,通过JavaScript控制其输入...
例如,在网页表单验证中,使用正则表达式可以确保用户输入的数据格式正确,避免无效提交;在数据清洗和处理中,正则表达式可以帮助我们快速定位和修改特定格式的数据;在文本分析领域,正则表达式的强大功能更是得到...
5. **使用和调试**:学习如何导入和使用这个模块,调用其方法生成正则表达式,并进行测试和验证,确保生成的正则符合预期。 6. **扩展与优化**:对于进阶用户,可能需要了解如何修改源代码以适应特殊需求,或者优化...
### ASP.NET 中使用正则表达式过滤HTML标签的详细解析 在Web开发中,经常需要对用户输入的数据进行处理,特别是在展示用户提交的内容时,为了防止XSS攻击或确保页面的整洁度,去除HTML标签变得至关重要。本文将详细...
这个压缩包提供了一套在Delphi下使用正则表达式的工具,其灵感来源于Boost库,一个知名的C++库,它包含了各种高效且功能丰富的组件。 在Delphi中使用正则表达式通常涉及到以下几个方面: 1. **引入库**:从提供的...
- 使用正则表达式替换HTML标签中的某些内容可以简化网页处理过程。 - 示例:将所有`<h1>`标签中的内容替换为加粗的大写形式。 ```regex (.*?) ``` - 替换后的结果: ```regex <strong>\U$1 ``` - 这里使用...
《.NET正则表达式测试台:高效开发与调试利器》 正则表达式是编程领域中用于处理字符串的强大工具,广泛应用于数据验证、文本...通过深入理解和熟练使用这个工具,我们可以更好地驾驭正则表达式,提升我们的编程技能。
2. **替换文本**:在大量文本中,可以使用正则表达式找到特定模式并进行替换,例如,统一修改文档中的特定格式或删除特定内容。 3. **提取子字符串**:根据模式匹配,从长字符串中提取所需的部分,这对于从网页中...
描述中提到的“NULL 博文链接:https://hcty31.iteye.com/blog/1287263”指示了一个博客文章,虽然具体内容未给出,但可以推断这篇文章可能提供了关于这个正则表达式测试工具的更多信息,比如它的功能、使用方法、源...