请帮助我如何使用双引号将一个字符串(我无法编辑,如来自数据库)传递给javascript中的方法。
* 请注意这个“Hello”世界“,欢迎......”来自DB,我无法编辑。要轻松了解格式的来源,我将其置于此处
var tempString = "Hello "world", Welcome...";
sampleMethod(tempString);
sampleMethod : function(tempString)
{
    alert(tempString)<br>
}
实际上我正在EXtjs 3.4
分组存储的分组视图中处理这件事。
Pelase帮我解决这个问题。
答案 0 :(得分:0)
您应该使用单引号来包装字符串。
var tempString = 'Hello "world", Welcome...';
或者您可以使用"
转义内部双引号(取决于字符串的使用)
或者您可以使用正则表达式来更改数据库中的字符串。 Read this
答案 1 :(得分:0)
使用\
来转义引号
var tempString = "Hello \"world\", Welcome...";
<强> DEMO 强> 如果无法手动更改DB中的字符串。改为使用单引号。
var tempString = 'Hello "world", Welcome...';
答案 2 :(得分:0)
更改此特定字符串的一种可能方法:
var tempString = "Hello \"world\", Welcome...";
var result = tempString.replace(/([^"]*)\"(\w*)\"([^"]*)/, "$1\'$2\'$3")
result
应为“Hello'world”,欢迎......“。
所以你可以调用方法
sampleMethod(tempString.replace(/([^"]*)\"(\w*)\"([^"]*)/, "$1\'$2\'$3"));
如果世界上有空间:
var tempString = "Hello \"wo r ld\", Welcome...";
这种替代更好:
var result = tempString.replace(/([^"]*)\"([\w\s]*)\"([^"]*)/, "$1\'$2\'$3")