兼容ie和火狐的javascript HTMLEncode HTMLDecode的完整实例
2009-06-01 23:53
676 查看
方法一:
用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText(ie支持)||textContent(火狐支持),然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串,显示的时候反过来就可以了(实际上显示的时候不用通过转换,直接赋值在div就可以正常显示的)。
<script type="text/javascript">
function HTMLEncode(html)
{
var temp = document.createElement ("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
function HTMLDecode(text)
{
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
var html = "<br>dffdf<p>qqqqq</p>";
var encodeHTML = HTMLEncode(html);
alert("方式一:" + encodeHTML);
var decodeHTML = HTMLDecode(encodeHTML);
alert("方式一:" + decodeHTML);
</script>
方法二:
通过把正则表达式把<>和空格符转换成html编码,由于这种方式不是系统内置的所以很容易出现有些特殊标签没有替换的情况,而且效率低下
<script type="text/javascript">
function HTMLEncode2(str)
{
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(//'/g,"'");
s = s.replace(//"/g,""");
return s;
}
function HTMLDecode2(str)
{
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(/'/g,"/'");
s = s.replace(/"/g,"/"");
return s;
}
var html = "<br>ccccc<p>aaaaa</p>";
var encodeHTML = HTMLEncode2(html);
alert("方式二:" + encodeHTML);
var decodeHTML = HTMLDecode2("方式二:" + encodeHTML);
alert(decodeHTML);
</script>
文章来自:http://hi.baidu.com/zdz8207/blog/item/b08fd11b626db9d3ac6e7555.html
用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText(ie支持)||textContent(火狐支持),然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串,显示的时候反过来就可以了(实际上显示的时候不用通过转换,直接赋值在div就可以正常显示的)。
<script type="text/javascript">
function HTMLEncode(html)
{
var temp = document.createElement ("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
function HTMLDecode(text)
{
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
var html = "<br>dffdf<p>qqqqq</p>";
var encodeHTML = HTMLEncode(html);
alert("方式一:" + encodeHTML);
var decodeHTML = HTMLDecode(encodeHTML);
alert("方式一:" + decodeHTML);
</script>
方法二:
通过把正则表达式把<>和空格符转换成html编码,由于这种方式不是系统内置的所以很容易出现有些特殊标签没有替换的情况,而且效率低下
<script type="text/javascript">
function HTMLEncode2(str)
{
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(//'/g,"'");
s = s.replace(//"/g,""");
return s;
}
function HTMLDecode2(str)
{
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(/'/g,"/'");
s = s.replace(/"/g,"/"");
return s;
}
var html = "<br>ccccc<p>aaaaa</p>";
var encodeHTML = HTMLEncode2(html);
alert("方式二:" + encodeHTML);
var decodeHTML = HTMLDecode2("方式二:" + encodeHTML);
alert(decodeHTML);
</script>
文章来自:http://hi.baidu.com/zdz8207/blog/item/b08fd11b626db9d3ac6e7555.html
相关文章推荐
- javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
- javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
- javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
- javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
- 兼容ie和火狐的javascript HTMLEncode HTMLDecode的完整实例
- 兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例
- 兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例
- 兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例[转]
- javascript另类方法实现htmlencode()与htmldecode()函数实例分析
- javascript另类方法实现htmlencode()与htmldecode()函数实例分析
- 兼容火狐ie 在html中给.swf传递参数
- javascript另类方法高效实现htmlencode()与htmldecode()函数
- JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结 【转】http://blog.csdn.net/uniqer/article/details/7789104
- JavaScript 的HTML转义方法 html_encode 和 html_decode
- JavaScript代码实例:拖动对象 Drag Object (兼容:IE、Firefox、Opera ... )
- IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法
- 兼容火狐、谷歌及IE的Javascript漂浮广告代码
- IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法
- JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
- JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome