JavaScript 字符串转义器
为 JavaScript 字符串字面量("…"、'…' 或 `…`)转义文本,使用 \n、\t、\",可选将非 ASCII 转为 \uXXXX——也可将 JS 字符串反转义为文本。
36 个字符 · 40 字节(UTF-8)
0 个字符 · 0 字节(UTF-8)
完全在浏览器中运行,您的数据不会被上传。
什么是 JavaScript 转义?
按你选择的引号风格,将任意文本转换为有效的 JavaScript 字符串字面量的内容,也能把转义后的 JS 字符串还原为纯文本。
如何使用 JavaScript 转义
- 选择转义或反转义。
- 转义时,选择字符串定界符(双引号、单引号或模板字符串),并可选择将非 ASCII 字符转义为 \uXXXX。
- 将文本粘贴到输入中,然后把输出复制到你的引号之间。
示例
Path: C:\temp "new"
Path: C:\\temp \"new\"
双引号定界符。
何时使用 JavaScript 转义
适合把文本、模板或类 JSON 数据硬编码到 JavaScript 或 TypeScript 源码中。若要把数据嵌入 HTML 的 <script> 标签,还要确保其中不会出现 </script>;对于 JSON 数据,请使用 JSON.stringify 或转义/反转义工具的 JSON 格式。
JavaScript 转义 的工作原理
转义时,反斜杠、换行、回车、制表符、退格、换页和垂直制表符会被替换为 \\ \n \r \t \b \f \v;所选的引号字符会加上反斜杠(模板字符串还包括 ${);其他控制字符变成 \xHH,U+2028/U+2029 总会被转义,因为它们会让较旧的解析器出错。启用非 ASCII 选项后,每个高于 U+007E 的字符都会变成 \uXXXX(表情符号使用代理对)。反转义能识别所有 JS 转义,包括 \u{…}、\xHH、旧式八进制和续行。
常见用例
- 把多行文本粘贴为 JS 字符串常量
- 为代码生成器转义字符串中的引号
- 用 \u 转义生成仅含 ASCII 的源文件
- 读取压缩代码或日志中的转义字符串
常见问题
哪些引号字符会被转义?
只转义你选作定界符的那种(模板模式下还包括反引号和 ${),这样输出能保持可读。
为什么要转义 U+2028 和 U+2029?
在 ES2019 之前,它们在字符串字面量中被视为行终止符,可能会让旧引擎中的代码出错。
输出是有效的 JSON 吗?
不一定——JSON 不允许 \x、\v 或单引号字符串。处理 JSON 请使用转义/反转义工具的 JSON 格式。