javascript - 正则表达式查找字符串中标记的完全匹配。- JS
问题描述
我想使用正则表达式来识别字符串中的任何标签。我有动态数据,其中可以包括以下记录:
str1= "TT-DD-11-AZR"><img src=x onerror=alert(1)>"
str2 = "RR-DD-22-AZR"><img src=http://localhost/ma.php>"
我正在通过以下方式使用正则表达式:
function regex() {
let str1= "TT-DD-11-AZR"><img src=x onerror=alert(1)>"
let regex = new RegExp("<img([\w\W]+?)/>", "g");
const match = regex.exec(str1);
if (match) { //this comes as null
return match;
}
}
我也试过:
regex= "/src=([^\\\"]+)/"
两者都返回 null。知道我可以识别什么 <img src 吗?字符串内的标签。
谢谢
解决方案
看起来您正在尝试匹配<>
而不是<>
. 此外,反斜杠必须在RegExp 构造函数中进行转义。
所以:
function regex() {
let str1= "TT-DD-11-AZR\"><img src=x onerror=alert(1)>"
let regex = new RegExp("<img([\\w\\W]+?)>", "g");
const match = regex.exec(str1);
if (match) { //this comes as null
return match;
}
}
console.log(regex())
推荐阅读
- sql - 在 PostgreSQL 中,CREATE AGGREGATE 选项 SORTOP 有什么作用?
- bpmn - 如何在 bpmn-js 中指定 XML 元素名称
- api - 如何使用带有 ssl 证书的 https 客户端从 java 调用 apis
- vue.js - Vue 或 React SPA 可以阻止某些页面的访问吗?
- javascript - Mongo 聚合问题,想避免外包装
- c++ - 如何判断 directory_entry 是否是 C++ 中 directory_iterator 的结尾
- linux - 无法访问损坏的文件
- c# - 如何获取 DataGridView 中两个特定单元格的值并将它们存储在变量中
- scip - 用于惰性约束和预求解的约束处理程序
- c# - 带有 SSL 和 ASP.NET 的 ERR_CONNECTION_RESET