如何在输入字段中允许分号然后执行 indexof(";") JS 调用?

How to allow semi-colons in input field and then do a indexof(";") JS call?

我不必 HTML 对字符串进行编码。试了各种办法,问题依旧,后面要做一个JSstr.indexOf(";");,怎么处理用户输入的分号。 我正在使用 System.Net.WebUtility.HtmlEncode(test); 编码我的字符串,它添加了分号(正如您对 html 编码所期望的那样)。

稍后,该字符串将用于创建 JavaScript 以“;”结尾的命令。这些命令通过 str.indexOf(";");

分开

我的问题是允许用户在字段中输入分号,这破坏了我用来动态创建 JavaScript 命令的上述 indexof(";")。

如果我需要执行 JS indexof(";") 来分隔 JS 命令,我如何支持用户在字符串中输入分号?

我尝试在 C# 端做

string myString = System.Net.WebUtility.HtmlEncode(test);

但这只会让情况变得更糟,正如您对 HTML 编码所期望的那样,添加更多的分号。

我想到的解决方案是在 C# 端进行替换。在 C# 中,我在 JavaScript 命令结尾“;”之前用它们的 URL 编码字符串版本替换所有 % 和(其他有问题的字符)。被插入(即 myString.Replace(";","%3B").Replace("=","%3D");)。

一旦它到达 JavaScript 一侧,我就会完全相反,从而使我的 JS 分号完好无损。

上述解决方案使我能够区分用户插入的分号和以编程方式输入的分号。