在输入字段中转义HTML的最佳方法是什么?例如,我搜索输入字段
<input id="search" type="text" ng-model="search" placeholder="search...">
如果有人输入类似的东西,我想逃避:
<script>alert("test123");</script>
答案 0 :(得分:3)
这完全取决于您的使用案例。如果你只是想让它为用户视图逃脱它(所以基本上消毒)你可以使用angular $ sanitize&amp; $ sce for it
https://docs.angularjs.org/api/ngSanitize/service/$sanitize和https://docs.angularjs.org/api/ng/service/$sce
但是如果你想将它存储在某个地方并希望它被转义,你可以构建一个过滤器。您可以在此处找到示例:Escape HTML text in an AngularJS directive
答案 1 :(得分:0)
您可以使用lodash _.escape([string=''])
。这是一个简单而简单的解决方案。
_.escape($scope.search);
答案 2 :(得分:-1)
您可以将pattern
用作输入框,例如 -
<input type='text' pattern='[a-zA-Z0-9]+'>
使用最适合您需求的表达式。