您的位置:

js html转义详解

一、转义概述

JavaScript和HTML是一对紧密的关系,JavaScript作为HTML的一种脚本语言,常常用于处理HTML文档的渲染、添加、修改和删除等操作。然而,如果在HTML文档中插入JavaScript代码时,由于JavaScript中的一些字符和HTML标签字符相同,可能会导致浏览器在解析时出现错误,甚至被攻击者利用。因此,在HTML页面上,我们需要对JavaScript中的特殊字符进行转义,以确保JavaScript代码不会破坏HTML页面的结构。

转义的过程就是将特殊字符变成某些特殊的编码,这些编码可以被浏览器识别,从而正确解析。在JavaScript中,有一些特殊的字符,称为转义序列,它们由反斜杠“\”和字母、数字或符号组合而成,如\n表示换行符,\t表示制表符,\\表示反斜杠本身。在HTML中,为了避免被浏览器解析成HTML标签,需要将特殊字符用对应的实体名称或实体编号表示,如 <、>、&和"。

二、转义字符

JavaScript中需要进行特殊字符的转义一般有以下几种情况:

1、转义单引号和双引号

在处理字符串时,如果字符串本身包含单引号或双引号,那么需要使用转义字符给它加上转义符号,否则会导致字符串截断。

    
console.log('I\'m a programmer.');
// output: I'm a programmer.

console.log("He said, \"I love you.\"");
// output: He said, "I love you."
    

2、转义斜杠

由于反斜杠本身就是转义符,在JavaScript中,如果需要输出一个反斜杠,那么需要用双反斜杠“\\”进行转义。

    
console.log("c:\\windows");
// output: c:\windows
    

3、转义换行符、制表符

在JavaScript中,换行符可以用“\n”表示,制表符可以用“\t”表示。

    
console.log("Hello,\nworld!");
// output: Hello,
// world!

console.log("Name\tAge\tGender\nTom\t18\tMale");
// output: Name   Age     Gender
//         Tom    18      Male
    

三、HTML实体

与JavaScript的转义类似,在HTML中,为了避免特殊字符被浏览器解析成HTML标签,需要使用实体名称或实体编号进行转义。

1、转义小于号和大于号

HTML中小于号“<”和大于号“>”分别用实体名称“&lt;”和“&gt;”进行转义。

    

   
<span>This is a span.</span>
// output: This is a span.

2、转义引号和单引号

在HTML中,需要将双引号和单引号用实体名称表示。

    
Link
// output: Link

Link
// output: Link
    

3、转义空格和断行

在HTML中,空格可以用空格字符“&nbsp;”进行转义,而换行则可以用“&br;”进行转义。

    

    This paragraph contains some spaces.

This is the first line.
This is the second line.
This is the third line.

四、代码示例

下面是一些JavaScript中常见的转义字符和HTML实体的示例代码:

    
const str1 = 'I\'m a programmer.';
const str2 = "He said, \"I love you.\"";
const str3 = "c:\\windows";

const str4 = "Hello,\nworld!";

const str5 = "

This is a paragraph.

"; const str6 = ""; document.write(str1 + "
" + str2 + "
" + str3 + "
" + str4 + "
" + str5 + "
" + str6);

输出结果:

I'm a programmer.

He said, "I love you."

c:\windows

Hello,
world!

<p>This is a paragraph.</p>

<img src="example.jpg" alt="Example">

htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
重学java笔记,java笔记总结

2022-11-23
javascript简要笔记,JavaScript读书笔记

2022-11-17
js代码整洁随笔,js代码整理

本文目录一览: 1、如何在页面让JavaScript代码原样显示,用标签不起用,js照常运行。请看问题补充 2、怎么让JS文件代码对齐 3、怎么样格式化javascript,怎么样格式化js 4、为什

2023-12-08
java学习笔记(java初学笔记)

2022-11-14
css转化为js,html转换css

本文目录一览: 1、问下CSS可以转换为JS使用吗?或有什么方法可以JS调用CSS也行 2、如何在css中调用js,代码该怎样写! 3、CSS不能作用到JS中吗? 4、把css定义写成js调用 5、网

2023-12-08
发篇java复习笔记(java课程笔记)

2022-11-09
java方法整理笔记(java总结)

2022-11-08
js待办事项列表添加删除代码的简单介绍

本文目录一览: 1、“点击此处可添加笔记”的代码怎么写 2、js动态添加、删除html代码 3、vivo手机便签怎么一起删 “点击此处可添加笔记”的代码怎么写 输入符号就可以了第一步打开手机,点击备忘

2023-12-08
jsp程序开发学习笔记2,jsp程序设计题库

本文目录一览: 1、《JSP&Servlet学习笔记》pdf下载在线阅读,求百度网盘云资源 2、林信良编著jsp&servlet学习笔记第2版课后答案吗 3、jsp有没有快速掌握的办法呀? 4、要学J

2023-12-08
java基础知识学习笔记一,Java基础笔记

2022-11-21
印象笔记记录java学习(Java成长笔记)

2022-11-12
java客户端学习笔记(java开发笔记)

2022-11-14
javascript一句话笔记,javascript基本语句

2022-11-16
java笔记,尚硅谷java笔记

2022-12-01
达内web前端js笔记(达内jsd)

本文目录一览: 1、web前端里的js技术 2、《web前端笔记7》js字符—获取、查找、遍历、提取、替换方法总结 3、达内web前端开发讲的什么内容 4、2020年自学Web前端要掌握的知识点有哪些

2023-12-08
python基础学习整理笔记,Python课堂笔记

2022-11-21
js代码总结体会,js基础知识总结笔记

本文目录一览: 1、js到底难不难学? 2、JS 代码 求解释 可以详细的 说明一下 谢谢 3、浅谈js写轮播图的思路与心得 4、JavaScript与WEB前台开发课程实训总结怎么写 5、js中继承

2023-12-08
java笔记,大学java笔记

2022-11-28