js转义html中的字符

出自:stenio365的博客

//去掉html标签
function removeHtmlTab(tab) {
 return tab.replace(/<[^<>]+?>/g,‘‘);//删除所有HTML标签
}
//普通字符转换成转意符
function html2Escape(sHtml) {
 return sHtml.replace(/[<>&"]/g,function(c){return {‘<‘:‘&lt;‘,‘>‘:‘&gt;‘,‘&‘:‘&amp;‘,‘"‘:‘&quot;‘}[c];});
}
// &nbsp;转成空格
function nbsp2Space(str) {
 var arrEntities = {‘nbsp‘ : ‘ ‘};
 return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})
}
function space2Nbsp(str) {
 return str.replace(/\s/ig, ‘&nbsp;‘);
}
//转意符换成普通字符
function escape2Html(str) {
 var arrEntities={‘lt‘:‘<‘,‘gt‘:‘>‘,‘nbsp‘:‘ ‘,‘amp‘:‘&‘,‘quot‘:‘"‘};
 return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}

//回车转为br标签
function return2Br(str) {
 return str.replace(/\r?\n/g,"<br />");
}

//去除开头结尾换行,并将连续3次以上换行转换成2次换行
function trimBr(str) {
 str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行
 str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,‘‘);//清除开头换行
 str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,‘‘);//清除结尾换行
 return str;
}

// 将多个连续空格合并成一个空格
function mergeSpace(str) {
 str=str.replace(/(\s|&nbsp;)+/g,‘ ‘);
 return str;
}

时间: 2024-10-29 08:28:04

js转义html中的字符的相关文章

js统计字符串中各种字符情况

问题描述:在一个字符串中,统计出大写字母.小写字母.数字和其他字符各数.这个算法以前在学习java的时候,老师说过,而且说了四种算法.在孔乙己的世界里,茴香豆的"茴"字有四种写法嘛! 今天就用js的算法来解决这个问题: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"/> <title>统

js、html中的单引号、双引号及其转义使用

js.html中的单引号.双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<input value="Test" type="button" onclick="alert(""OK"");" />IE提示出错后,再漫不经心地改为:<input value="Test&

js如何将字符串中的字符位置倒转

js如何将字符串中的字符位置倒转:在实际需要中,可能需要将字符串中的字符的位置反转,当然可能应用不会这么直接,下面就通过代码示例介绍一下如何实现此效果,希望能够给需要的朋友或多或少带来一定的帮助.代码实例如下: var str="antzone"; var strArray=str.split(""); console.log(strArray.reverse().join("")); 以上代码实现了我们的要求,非常的简单,就是使用split()

用js识别字符串中的英文字母字符和非字符(汉字)

前不久去阿里的在线笔试,最后一道题可算是难倒了我,题目大概是这样的:用原生的js实现字符串中的英文字母字符和汉字的识别,汉字按照两个单位计算,英文和字符按照一个单位计算,乍一想真不知道有什么好办法,以前写c代码太多,就用c代码对ascii的办法来,笔试结束字符才知道,js是很高大上的玩意儿,这招行不通.在这里我介绍一种很简单很靠谱的方法,用unicode字符集的办法来解决. 首先脑补一下小知识:unicode字符集数字0 - 128是英文字母字符(半角)的范畴,在这以外是其他字符(全角),用js

转载:js实现统计字符串中特定字符出现个数的方法

//js统计字符串中包含的特定字符个数 function getPlaceholderCount(strSource) {   //统计字符串中包含{}或{xxXX}的个数   var thisCount = 0;   strSource.replace(/\{[xX]+\}|\{\}/g, function (m, i) {     //m为找到的{xx}元素.i为索引     thisCount++;   });   return thisCount; }

JS判断字符串中,某个字符出现的次数

/**   * JS判断字符串中,某个字符出现的次数   */     var str ="abc#def#hig";     var len =str.split("#").length-1     alert(len);

js替换字符串中所有指定的字符

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argumen

浅析白盒审计中的字符编码及SQL注入

尽管现在呼吁所有的程序都使用unicode编码,所有的网站都使用utf-8编码,来一个统一的国际规范.但仍然有很多,包括国内及国外(特别是非英语国家)的一些cms,仍然使用着自己国家的一套编码,比如gbk,作为自己默认的编码类型.也有一些cms为了考虑老用户,所以出了gbk和utf-8两个版本. 我们就以gbk字符编码为示范,拉开帷幕.gbk是一种多字符编码,具体定义自行百度.但有一个地方尤其要注意: 通常来说,一个gbk编码汉字,占用2个字节.一个utf-8编码的汉字,占用3个字节.在php中

js和java中正则表达式的易混淆点

js中正则表达式的使用 对表单中的值进行正则表达式匹配一般有两种方法: var reg = new RegExp(regStr); reg.test(value); 如下: var reg = new RegExp("\\d{3}"); reg.test("abc123def"); 结果:true 注:new RegExp中传的是正则表达式的字符串,\需要用\转义. str.match(regex);      如"abc123def".matc