繁体   English   中英

Javascript正则表达式问题

[英]Javascript regular expression question

我正在使用javascript正则表达式执行以下操作:

我将页面的html内容保存在字符串中,并且我希望匹配页面上的所有URL。

例如,如果文档包含-

<script src = "http://www.a.com">
<a href="http://www.b.com">
<a href= "http://www.c.com">
<a href ="http://www.d.com">

我想比赛是 -

http://www.a.com
http://www.b.com
http://www.c.com
http://www.d.com

任何帮助将不胜感激,谢谢!

John Gruber在他的网站Daring Fireball上有一个很好的URL正则表达式: http : //daringfireball.net/2010/07/improved_regex_for_matching_urls

您可以像这样实现它:

function regex(url) {
    var regex = /(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/
    return regex.test(url);
}
function isUrl(url) {
    var regexp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
    return regexp.test(url);
}

它有点通用,但是您可以根据需要进行修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM