【问题标题】:EJS/Javascript: Carriage return & line break breaks JavascriptEJS/Javascript:回车和换行符 Javascript
【发布时间】:2016-05-20 21:20:44
【问题描述】:

所以我正在使用 EJS 和 Node.js 开发一个表单。我从数据库中提取了一个文本字段,该字段具有以下字符串,例如:

,11-111-1111 ,Nurse ,Mobile Phone , , , , ,ABCD - LAB - User unable to see patient name in pending inquiry in Pat 
Taha St reporting, she can see everything else but patient name in pending inquiry

在 Javascript 代码中,我将这个字段从数据库中读取到一个变量中,如下所示:

var srDescription  = '<%= Description %>';

但我的 Javascript 与 Chrome 开发人员工具中的以下堆栈中断:

VM5484:68 Uncaught SyntaxError: Unexpected token ILLEGALx.extend.globalEval @ jquery-2.0.2.min.js:4x.fn.extend.domManip 
@ jquery-2.0.2.min.js:5x.fn.extend.append @ jquery-2.0.2.min.js:5(anonymous function) 
@ jquery-2.0.2.min.js:5x.extend.access @ jquery-2.0.2.min.js:4x.fn.extend.html 
@ jquery-2.0.2.min.js:5$.ajax.success 
@ app.js:1863l @ jquery-2.0.2.min.js:4c.fireWith @ jquery-2.0.2.min.js:4k   
@ jquery-2.0.2.min.js:6(anonymous function) @ jquery-2.0.2.min.js:6

调查:

我对原始字符串进行了一些测试,发现只有在有回车换行符 (CRLF) 时才会中断

我尝试了以下方法,但没有成功:

'<%= Description %>'.replace(/\r?\n\s*/g,'');

如何转义这些字符以使 Javascript 不会中断?

【问题讨论】:

  • 为什么这被否决了? ://

标签: javascript jquery node.js ejs carriage-return


【解决方案1】:

您可以使用ejs-shrink 之类的插件来清理空格,或实施您自己的解决方案。但是,在这种情况下,我认为解决方案是在服务器端清理您的数据。

【讨论】:

  • 我在服务器端清理了对我有用的数据。为了清理,我使用了与问题中给出的相同的正则表达式
猜你喜欢
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-22
  • 2015-12-10
  • 1970-01-01
  • 2015-09-28
相关资源
最近更新 更多