JavaScript中与PHP的FILTER_SANITIZE_STRING等效的是什么?

4

我希望使用JavaScript过滤表单中的文本输入。PHP的FILTER_SANITIZE_STRING函数可以去除标签,并可选地去除或编码特殊字符。但是我不能在我所做的工作中使用PHP,我需要一个JavaScript等效函数。


2
能否告诉我们一下php命令是做什么的(对于那些了解JavaScript但不懂PHP的人可能会有帮助)? - Scott Marcus
你似乎认为所有懂JS的人也都懂PHP。请解释一下你想要什么功能以及你尝试过什么,而不是请求某种随机语言的等效功能。 - Oriol
1
我想使用JavaScript过滤表单中的文本输入。PHP的FILTER_SANITIZE_STRING函数可以删除标签,并可选择删除或编码特殊字符。但是,我不能在我的项目中使用PHP,我需要一个JavaScript等效函数。 - Dre_Dre
任何你在Javascript中做的事情都可以被用户覆盖,因此不应该用于安全过滤。 - Barmar
1
你可以使用像jqueryvalidation.org这样的过滤插件。 - Barmar
显示剩余2条评论
1个回答

0

你可以自己编写这样的函数,这并不难。默认设置如下所示。如果你想支持像 PHP 的过滤器一样的标志,那么你需要在这个函数中添加更多内容。

function FILTER_SANITIZE_STRING (string) {
    string = string.replaceAll(/\x00|<[^>]*>?/g, '');
    string = string.replaceAll('\'', '&#39;');
    string = string.replaceAll('"', '&#34;');
    return string;
}

// testing
console.log(FILTER_SANITIZE_STRING('<abc>\'"qwe'));

问题是为什么你想要这样做?PHP正在移除这个特定的过滤器,因为它缺乏实用性。这个过滤器没有实际应用。你最好编写一个针对实际需求的函数,而不是试图复制这个无用的过滤器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接