匹配<、>、&、<、>、&六种字符的正则

发布于 2022-09-12 23:36:51 字数 78 浏览 19 评论 0

求一个匹配<、>、&、&lt;、&gt;、&amp;六种字符的正则,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜司空 2022-09-19 23:36:51

这种东西嘛,为了简单,首先对实体字符转义成正常字符:

/**
 *  转义字符还原成html字符
 * @param str
 * @returns {string}
 * @constructor
 */
function htmlRestore(str) {
  var s = "";
  if (str.length === 0) {
    return "";
  }
  s = str.replace(/&/g, "&");
  s = s.replace(/</g, "<");
  s = s.replace(/>/g, ">");
  s = s.replace(/ /g, " ");
  s = s.replace(/'/g, "\'");
  s = s.replace(/"/g, "\"");
  return s;
}

然后再正则匹配<、>、&就行了,匹配的正则表达式复杂度就降低了。
转换后再执行匹配就行了:
示例:

let str = "dlfj&jasldjfl<ldfjlas>ljdlfjds&";
str.search(/[<>&]/g)

以上是得到匹配到的字符次数。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文