逃脱输入字段中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]+'>
使用最适合您需求的表达式。