【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现
如果是想把本地的一个字符串串存到服务器,再次取出来的还是文本的话,就需要这个文本字符串的转义;
/** * 对一个字符串的转义 * @param str * @return {*} */ function escapeHTML(str) { return str.replace(/$/g, '&') // 结尾的字符用&替换 .replace(/\</g, '<') // < 用<替换 .replace(/\>/g, '>') // > 用>替换 .replace(/\'/g, ''') // ' 用'替换 .replace(/\"/g, '"'); // " 用"替换 } /** * 对一个字符串的反转义 * @param str * @return {*} */ function unscapeHTML(str) { // 查找所有的< > & " ' 字符,并替换掉 return str.replace(/</g, '<') .replace(/>/g, '>') .replace(/'/g, '\'') .replace(/"/g, '\"') .replace(/&/g, '') // String.fromCharCode() 静态方法根据指定的 Unicode 编码中的序号值来返回一个字符串。String.fromCharCode(65,66,67) “ABC” .replace(/&#(\d+)/g, function ($0, $1) { //parseInt() 函数将给定的字符串以指定基数(radix/base)解析成为整数。就是 你想把string当成radix进制数解析成10进制 return String.fromCharCode(parseInt($1, 10)); }); }
测试代码如下:
// 转义和反转义的功能测试 var tagText = "<p><b>123&456</b></p>"; // 如果直接打印输出的话,就是一个字符串 console.log(tagText); // <p><b>123&456</b></p> res = escapeHTML(tagText); console.log(res); // <p><b>123&456</b></p>& // 如果把一个字符串转义为实体之后,就不会正常在页面中显示出来内容,只会显示的是一个字符串 document.body.innerHTML = res; // 会显示的是一个字符串,<p><b>123&456</b></p>&, 但是浏览器也会自动将实体转换解析 // 如果是一个字符串的话,就会直接在网页中显示出来(按照HTML进行解析) document.body.innerHTML = tagText; // 相当是设置了一段HTML代码 // 对字符反转义之后的结果 res = unscapeHTML(res); // <p><b>123&456</b></p> console.log(res); // 又恢复到最初始的状态

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
TOMCAT部署
# java下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html [root@kazihuo ~]# mkdir -pv /usr/java [root@kazihuo ~]# tar -axvf jdk-8u151-linux-x64.tar.gz -C /usr/java/ [root@kazihuo ~]# vim /etc/profile.d/java.sh #创建文件并添加以下信息; JAVA_HOME=/usr/java/jdk1.8.0_151 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH [root@kazihuo ~]# source /etc/profile.d/java.sh [root@kazihuo ~]# java -version java version "1.8.0_151" J...
- 下一篇
【Nebula系列】通过UNIX域套接字传递描述符的应用
传送文件描述符是高并发网络服务编程的一种常见实现方式。Nebula 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。 1. TCP服务器程序设计范式 开发一个服务器程序,有较多的的程序设计范式可供选择,不同范式有其自身的特点和实用范围,明了不同范式的特性有助于我们服务器程序的开发。常见的TCP服务器程序设计范式有以下几种: 迭代服务器 并发服务器,每个客户请求fork一个子进程 预先派生子进程,每个子进程无保护地调用accept 预先派生子进程,使用文件上锁保护accept 预先派生子进程,使用线程互斥锁上锁保护accept 预先派生子进程,父进程向子进程传递套接字描述符 并发服务器,每个客户端请求创建一个线程 预先创建线程服务器,使用互斥锁上锁保护accept 预先创建线程服务器,由主线程调用accept 当系统负载较轻时,传统的并发服务器程序模型就够了。相对于传统的每个客户一次fork设计,预先创建一个进程池或线程池可以减少进程控制CPU时间,大约可减少10倍以上。 某些实现允许多个子进程或线程阻塞在acce...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2更换Tomcat为Jetty,小型站点的福音