javascript的防弹URL匹配正则表达式
bulletproof URL matching regex for javascript?
有人能帮我找到一个匹配任何和所有URL模式的正则表达式模式吗?我找到了几个,但它们似乎有缺陷。
我对匹配URL中的任何单个元素(如域或其他)都不感兴趣,我只需要从文本字符串中可靠地提取一个URL的整体,然后输出一个可用的URL(意味着它前面应该总是有一个http://)
以下是我想匹配的示例URL
http://www.google.com
www.google.com
code.google.com
http://code.google.com/hosting/search?q=label%3aPython
注意到有些缺少http://标签,所以如果它们缺少,我想添加这些标签
功能的最终结果应该是
1: http://www.google.com
2: http://www.google.com
3: http://code.google.com
4: http://code.google.com/hosting/search?q=label%3aPython
这是我的建议:
<script>
var html = 'http://www.google.com';
html += ''rwww.google.com ';
html += ''rcode.google.com';
html += ''rhttp://code.google.com/hosting/search?q=label%3aPython';
var regex = /(https?:'/'/)?('w+'.?)+('/[a-zA-Z0-9'?%=_'-'+'/]+)?/gi;
alert('before replace:');
alert(html);
html = html.replace(regex, function (match, capture) {
if (capture) {
return match
}
else {
return 'http://' + match;
}
});
alert('after replace:');
alert(html);
</script>
相关文章:
- 通过正则表达式从字符串中提取Url
- 用于确定URL视频ID的正则表达式
- url正则表达式不适用于javascript中的localhost
- JavaScript 中 URL 的正则表达式模式
- 什么'用这个正则表达式查找URL是错误的
- 修改以下正则表达式,使其在URL末尾包含斜杠
- javascript正则表达式url(url子字符串)
- url的正则表达式有问题
- 使用JavaScript正则表达式从html srcset获取图像url
- 与URL参数匹配的正则表达式
- 为什么正则表达式不能正确验证网站URL
- JavaScript正则表达式,带有URL激活以及微笑符号等
- 将背景图像URL与正则表达式匹配
- JavaScript 正则表达式以匹配 URL
- 通过 JavaScript 和正则表达式将图像 URL 替换为文本 URL
- 正则表达式 url 与本地主机匹配
- 需要进一步扩展此正则表达式 URL/邮件解析器
- javascript正则表达式url替换
- 不是图像扩展名的Javascript正则表达式url
- JS 正则表达式 url 验证