ton*_*one 1 javascript c# regex
我需要一个c#中的正则表达式,它将在字符串文字中转义双引号.所以,如果我有这个字符串:"这个"怎么样,"那个"怎么样.我将能够在javascript中使用它而不会出错.因为我正在将这个文字作为js var写入页面.
编辑:我将尝试解释有关该问题的更多信息.我在这样的页面写messege:
string UserMsg = GetMessageText(999);
StringBuilder script = new StringBuilder();
script.AppendFormat("var UserMsg =\"{0}\";{1}", UserMsg, Environment.NewLine);
ScriptManager.RegisterClientScriptBlock(this, GetType(), "scriptparams", script.ToString(),true);
Run Code Online (Sandbox Code Playgroud)
现在让我们说messege 999是这样的:"我们在你的细节中发现了一个"问题".这导致js错误.
您不应该使用正则表达式将C#字符串转换为JavaScript友好/安全格式.相反,假设您使用的是.NET 4,您可以使用HttpUtility.JavaScriptStringEncode,并且它的重载可以为您处理单引号和双引号.
例如:
string UserMsg = GetMessageText(999);
StringBuilder script = new StringBuilder();
script.AppendFormat("var UserMsg =\"{0}\";{1}", HttpUtility.JavaScriptStringEncode(UserMsg), Environment.NewLine);
ScriptManager.RegisterClientScriptBlock(this, GetType(), "scriptparams", script.ToString(),true);
Run Code Online (Sandbox Code Playgroud)
如果UserMsg在您的详细信息中设置为"我们发现"问题,则输出以下内容:
var UserMsg ="we found a \"problem\" in your details";
Run Code Online (Sandbox Code Playgroud)