javascript:通过字符串中给定的域(子字符串)查找完整URL的最快方法

时间:2014-11-14 11:10:15

标签: javascript string function substring

有一个很大的javascript字符串,包含文本,html标签等,它是一个有效的HTML(标签在任何地方都可以正常关闭)。此字符串中有URL。

如果此字符串中的任何网址受http://google.com""个标记的限制,那么删除此内容中所有内容的最快方法是什么,但请保留包含><的网址? 在更新的字符串中,URL可以用空格分隔。

这是一项实际任务。如果这里没有提供解决方案,我将与我分享,但我认为它不会很好而且快速。

1 个答案:

答案 0 :(得分:3)

您可以使用正则表达式。

以下表达式查找&#34;&#34;之间的所有字符串。或&gt;&lt;分隔符。然后,您必须为与URL模式匹配的字符串过滤该数组。

var delimitersRegex = /[\"|\>](.*?)[\"|\<]/g;
var urlRegex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/;

var urls = yourString.match(delimitersRegex).filter(function (str) { 
    return urlRegex.test(str) 
});

url将包含您的字符串中找到的所有网址。然后,您可以使用这些匹配的网址执行您喜欢的操作。

祝你好运;