Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数转换任意字符串以在JavaScript中使用_Javascript_Regex_Asp Classic_Vbscript - Fatal编程技术网

函数转换任意字符串以在JavaScript中使用

函数转换任意字符串以在JavaScript中使用,javascript,regex,asp-classic,vbscript,Javascript,Regex,Asp Classic,Vbscript,我需要编写一个VBScript函数,它可以将任意字符串转换为可以在JavaScript中安全使用的字符串。大概是这样的: "Hello World" -- becomes -- "Hello World" "Hello World" -- becomes -- "Hello\nWorld" "Hello World" -- becomes -- "Hello\n\tWorld" "Hello'World" -- becomes -- "Hello\'World" var foo

我需要编写一个VBScript函数,它可以将任意字符串转换为可以在JavaScript中安全使用的字符串。大概是这样的:

"Hello World"
-- becomes --
"Hello World"

"Hello
World"
-- becomes --
"Hello\nWorld"

"Hello
    World"
-- becomes --
"Hello\n\tWorld"

"Hello'World"
-- becomes --
"Hello\'World"
var foo = '<p><%= thatfunction( Recordset( "TextField" ) ) %></p>';
<p><%= HttpUtility.HtmlEncode( Recordset( "TextField" ) ) %></p>
我需要使用如下函数:

"Hello World"
-- becomes --
"Hello World"

"Hello
World"
-- becomes --
"Hello\nWorld"

"Hello
    World"
-- becomes --
"Hello\n\tWorld"

"Hello'World"
-- becomes --
"Hello\'World"
var foo = '<p><%= thatfunction( Recordset( "TextField" ) ) %></p>';
<p><%= HttpUtility.HtmlEncode( Recordset( "TextField" ) ) %></p>
var foo='

';
我希望你明白了。该功能不必防弹,但必须关闭。

您可以使用


。。。但是您的示例显示了嵌入在HTML元素中的文本,而不是Javascript字符串中的文本。也许你在找。您的示例可能如下所示:

"Hello World"
-- becomes --
"Hello World"

"Hello
World"
-- becomes --
"Hello\nWorld"

"Hello
    World"
-- becomes --
"Hello\n\tWorld"

"Hello'World"
-- becomes --
"Hello\'World"
var foo = '<p><%= thatfunction( Recordset( "TextField" ) ) %></p>';
<p><%= HttpUtility.HtmlEncode( Recordset( "TextField" ) ) %></p>


@Salman A:这里有一个经典的ASP函数,你可以使用

Function thatfunction(ByRef input_string)
    If NOT IsNull(input_string) AND input_string <> "" Then
        Dim working_string
        working_string = input_string
        working_string = Replace(working_string, vbNewLine, "\n")
        working_string = Replace(working_string, vbTab, "\t")
        working_string = Replace(working_string, "'", "\'")
        ' .. other escape values/strings you may wish to add

        thatfunction = working_string
    End If
End Function
函数该函数(ByRef输入字符串)
如果不为空(输入字符串)并输入字符串“”,则
暗工作线
工作字符串=输入字符串
工作字符串=替换(工作字符串,vbNewLine,“\n”)
工作字符串=替换(工作字符串,vbTab,“\t”)
工作字符串=替换(工作字符串“'”、“\”)
' .. 您可能希望添加的其他转义值/字符串
该函数=工作字符串
如果结束
端函数

我对这个问题做了一些修改。我需要经典的asp/vbscript解决方案。我担心的是“其他”值:)@Salman A:看看--您可能可以使用
Server.HTMLEncode
Server.URLEncode
来比较输出,为经典的asp做一些类似的事情。这应该考虑到“其他”值。:-)