使用C#删除无效的JavaScript令牌

时间:2015-04-12 09:28:30

标签: javascript c#

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

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

某些用户输入来自我的C#代码,之前已由用户保存。现在,问题是,从那时起我将在浏览器中收到以下错误:

  

未捕获的SyntaxError:意外的标记ILLEGAL

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

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

我实际上必须删除Stackoverflow问题中的非法字符,因为它还会破坏编辑器 - 而是我在jsfiddle中添加了未受污染的示例: https://jsfiddle.net/p8suow9m/

很难看到,但它就在那里。在谷歌浏览器中查看它会让它更容易看到:

enter image description here

有人可以用C#中的正确方法来帮助我过滤掉这些非法字符吗?

请注意,我不能使用使用有效字符列表的方法并删除其他所有内容,因为我需要支持许多字符串 合法的特殊字符。

1 个答案:

答案 0 :(得分:1)

尝试以下c#代码,它对我有用: P.S。:无法将其作为代码发布,编辑器错误,所以我错过了代码片段的事情。

Regex.Replace(@"<p><span>test.
    > </span></p>", @"[^\u0000-\u007F]", string.Empty);