当前位置: 首页 > news >正文

将带有双引号和单引号的字符串作为参数传递给javascript函数

问题:

传输字符串,如果存在双引号和单引号,会破坏字符串结构,引发Uncaught SyntaxError: Invalid or unexpected token

例:

测试"测试系统"测试项目

当该字符串被直接嵌入vm.view()调用时:

vm.view('row.id', '测试"测试系统...') // 错误:双引号未转义

这里的双引号"会提前终止字符串,导致后续内容被解析为无效代码。

解决方案

需对字符串中的特殊字符进行转义处理,建议采用以下两种方式:

1. 使用模板字符串
vm.view(`${row.id}`, `${row.contractName}`)

模板字符串自动处理引号嵌套问题,无需手动转义,但是可能会出现浏览器兼容问题。

2. 手动转义双引号(传统方式)
//转义html $.escapeHTML = function escapeHTML(text) { if (typeof text === 'string') { return text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#039;').replace(/`/g, '&#x60;'); } return text; }; //反转义html $.unescapeHtml = function unescapeHtml(str){ if(!str) return ""; var temp = str; temp = temp.replace(/&amp;/g, "&"); temp = temp.replace(/&lt;/g,"<"); temp = temp.replace(/&gt;/g,">"); temp = temp.replace(/&nbsp;/g," "); temp = temp.replace(/&#39;/g,"\'"); temp = temp.replace(/&quot;/g,"\""); return temp; };

在传输数据之前手动转义:

row.contractName = $.escapeHTML(row.contractName) vm.view(row.id, row.contractName)

传输数据之后,再反转义回来

view: function(id,name) { name = $.unescapeHtml(name); },
http://www.jsqmd.com/news/715855/

相关文章:

  • 如何确保宣传册中图片的高清晰度
  • ZGC 2.0 + Java 25组合上线倒计时:最后24小时必须验证的6项压力测试Checklist
  • 拆解对比:ABLIC S-8254A与TI BQ系列,3/4串锂电池保护方案怎么选?
  • 论文写到崩溃?别死扛了。
  • Fiddler Filters隐藏玩法:不只是过滤,更能模拟篡改请求头做安全测试
  • HTML到Figma:逆向设计工作流的完整技术实现指南
  • 别只盯着部署!Datahub安装后的第一件事:快速集成MySQL元数据与任务调度配置
  • 圆满收官!桥田智能磁力换模硬核闪耀2026国际橡塑展
  • ICode竞赛通关后,如何用Python函数自制编程小游戏?
  • DeepSeek V4利好国产算力,超节点成为弯道超车的技术底座
  • 别墅主卧套房,不该只是一张床:从睡眠区到衣帽卫浴的完整空间拆解
  • 量子计算入门必读:手写C++量子比特模拟框架(含开源代码与Benchmark实测数据)
  • 避开这些坑!HC32F460正交编码器调试心得:Timer6 vs TimerA 如何选?滤波与中断配置详解
  • 终极免费家庭电视革命:用Kodi PVR IPTV Simple打造你的专属直播系统
  • B站字幕怎么导出?哪种工具转得准?2026年有哪些实用方法?
  • GetQzonehistory:用Python技术守护你的QQ空间数字记忆
  • 终极指南:如何用HMCL启动器轻松管理你的Minecraft游戏世界
  • 【紧急预警】传统C++数值模拟已无法支撑NISQ时代量子算法验证?3天快速迁移至高保真Qubit模拟框架(附迁移checklist)
  • 别再傻傻分不清了!嵌入式音频开发中PCM与I2S接口的实战选择指南
  • Phi-4-mini-reasoning企业落地:保险条款自动推理与理赔逻辑校验系统
  • 别再乱拔线了!华为/Juniper交换机堆叠主备的3种无风险确认法(含光口场景)
  • 5个超实用技巧:让网页历史永不消失的互联网记忆守护者
  • 2025届学术党必备的五大降AI率平台横评
  • 从依图到字节:我靠这份真实面经复盘,拿下了2024推荐算法实习Offer
  • Path of Building中文版:3步打造流放之路最强角色构建工具
  • 给表格奇偶行加上不同的背景颜色 - feng
  • NoFences:彻底终结Windows桌面混乱的免费开源分区神器
  • ReAct 常见问题排查与调试技巧
  • 判断质数【牛客tracker 每日一题】
  • 3分钟搭建完整KIMI AI免费API:解锁智能对话接口的终极解决方案