javascript - 使用 javascript 从 URL 字符串中删除特定事件

标签 javascript java jquery regex xss

我有一个网址

http://www.example.com/" onmouseover="alert('howdy')

在此 URL 中,我想删除所有事件,例如 onmouseroveronmouseclick 等。

我尝试使用下面的代码从String中提取URL:

function UrlExtract(Url) {

var pattern = new RegExp(/(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])/igm);
Url = String(Url).match(pattern);
return Url;
}

我想要的是用户指定要从 Url 字符串中删除哪些事件,并且只应删除这些事件。 请帮我解决这个问题。

最佳答案

检查下面的代码

var url = "example.com/; onmouseover=alert('howdy');onclick=alert('click'); onmouseout=alert('out')"
function removeString(originalStr, strArr) {
    if(strArr.constructor === Array) {
       for(var i = 0; i < strArr.length; i++) {
          originalStr = originalStr.replace(strArr[i], '');
       }
    }
    return oriStr;
}
console.log(removeString(url, [" onclick=alert('click');", " onmouseover=alert('howdy');"]));
//output: "example.com/; onmouseout=alert('out')"

关于javascript - 使用 javascript 从 URL 字符串中删除特定事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35355561/

相关文章:

javascript - 单击后保持 jquery .addClass 处于事件状态,如果我不按住鼠标,我的 div 就会恢复

javascript - 带基础的动态警告框

javascript - 如何像模式一样使警报周围的 div 变暗?

javascript - 如何在智能电视上测试 HTML5 和 Javascript 应用程序?

java - 无法在图像文件上使用 "paint"来渲染函数

Java 文本格式加粗

javascript - 未选中复选框时从数组中删除元素

javascript - 对于 AJAX 帖子和 HTML 表单帖子,是否有一种更简洁的方法来以不同的方式处理快速渲染?

javascript - 如何使边距在我的 JS 中动态创建的 div 上起作用?

java - Hibernate查询机