Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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
使用C删除无效的javascript标记#_Javascript_C# - Fatal编程技术网

使用C删除无效的javascript标记#

使用C删除无效的javascript标记#,javascript,c#,Javascript,C#,我在页面上写了一个脚本,如下所示: <script type="text/javascript"> var test = 'Some user input'; </script> var测试='一些用户输入'; 一些用户输入来自我的C#代码,以前由用户保存。现在,问题是,从那时起,我将在浏览器中得到以下错误: 未捕获的语法错误:意外标记非法 我需要一些通用的方法来捕获这些非法字符并删除它们。例如,以下用户输入实际上包含非法字符: <p><span&

我在页面上写了一个脚本,如下所示:

<script type="text/javascript">
var test = 'Some user input';
</script>

var测试='一些用户输入';
一些用户输入来自我的C#代码,以前由用户保存。现在,问题是,从那时起,我将在浏览器中得到以下错误:

未捕获的语法错误:意外标记非法

我需要一些通用的方法来捕获这些非法字符并删除它们。例如,以下用户输入实际上包含非法字符:

<p><span>.</span></p>

实际上,我不得不删除Stackoverflow问题中的非法字符,因为它也破坏了这里的编辑器-相反,我在JSFIDLE中添加了未受破坏的示例:

很难看到,但它就在那里。在Google Chrome中查看它会更容易看到:

有人能帮我用C#的正确方法过滤掉这些非法字符吗

请注意,我不能使用使用有效字符列表并删除所有其他字符的方法,因为我确实需要在javascript字符串中支持大量合法的特殊字符。

试试下面的c代码,它对我很有用: 注:无法将其作为代码发布,编辑器有缺陷,所以我误用了代码片段


Regex.Replace(@“测试。
    > 

“,@”[^\u0000-\u007F]”,string.Empty)我认为本例中的字符可能是。JavaScript带引号的字符串不能包含不带换行符的换行符。这对特定示例有效。问题是这有多普遍?这是针对特定的非法代币吗?呵呵,这就是我现在问自己的。此代码将删除所有ASCII字符。你必须一直测试它,我不认为它会去掉所有的ASCII字符。你到底是什么意思?但是还要检查一下:注意,我最终使用了这个序列,它也删除了不可打印的字符,但没有删除其他非常有效的特殊字符。0020-007E