AngularJS:在输入字段中逃脱HTML



逃脱输入字段中HTML的最佳方法是什么?例如,我搜索输入字段

<input id="search" type="text" ng-model="search" placeholder="search...">

我想逃脱,如果有人键入这样的东西:

<script>alert("test123");</script>

这完全取决于您的用例。如果您只想为用户查看(基本上是消毒)逃脱它,则可以使用Angular $ Sanitize&amp;$ sce

https://docs.angularjs.org/api/ngsanitize/service/quljsanitize and https://docs.angularjs.org/api/ng/ng/service/jerque/qulque/qul

但是,如果您想将其存储在某个地方并希望它逃脱,则可以构建一个过滤器。您可以在此处找到一个示例:在AngularJS指令中逃脱HTML文本

您可以使用lodash _.escape([string=''])。这是一个简单简单的解决方案。

_.escape($scope.search);

您可以将pattern用于输入框,例如 -

<input type='text' pattern='[a-zA-Z0-9]+'>

使用最适合您需求的表达式。

最新更新