我正在尝试替换JSON中的所有脚本标签。我目前正在使用以下正则表达式:
/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi
仅在以下情况下有效:
<script>
<script>adfe</script>
<script>sce
<script>ccrcr<script></script>
<script><dwdwd>
<script></script>
我需要它可以在以下情况下工作:
<add></script>
aasdd</script>
%3Cscript%3Ealert(document.domain)%3C%2Fscript%3E
这是示例代码:
var myObj = { "name":"John", "age":31, "city":"New York","search":"?<script>alert(document.domain)</script>","query":"body<script>alert('fvvr')</script>","path":"/movies?Header:1%3Cscript%3Ealert(document.domain)%3C%2Fscript%3E"};
var myJSON = JSON.stringify(myObj).replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
alert(myJSON);
您能帮我吗?