我正在尝试从字符串输入中过滤掉所有URL。目前,我有一个正则表达式,能够找到以http://
或https://
或ftp://
开头的URL,如下所示:
var _input = document.querySelector("#input");
var btn = document.querySelector("#btn");
var results = document.querySelector("#results");
btn.addEventListener("click", function() {
var input_ = _input.value;
var cleanInput = input_.replace(/(?:https?|ftp):\/\/[\n\S]+/g, '');
results.innerHTML = cleanInput;
});
<textarea id="input" rows="5" style="width: 200px;"></textarea>
<button id="btn">SUBMIT</button>
<div id="results"></div>
我应该使用什么正则表达式来匹配www.***
,并且它也不区分大小写。 http或HTTP也应该匹配。
答案 0 :(得分:2)
您可以将正则表达式调整为
.replace(/(?:(?:http|ftp)s?:\/\/|www\.)[\n\S]+/ig, '');
详细信息
ig
-忽略大小写(i
)和全局(g
)修饰符,以不区分大小写的方式匹配所有出现的内容(?:(?:http|ftp)s?:\/\/|www\.)
-https://
,http://
,ftp://
,ftps://
或www.
[\n\S]+
-1个或多个非空白字符或LF字符