如何使用javascript检测网页上的url?
我正在使用JQuery编写一个应用程序,其中我将脚本包含在网页的标题部分,页面的数据是动态的,来自数据库 现在我需要检测页面上的URL。它可以是锚定标记,也可以是简单的书面URL 为了检测URL,我正在使用此函数如何使用javascript检测网页上的url?,javascript,regex,Javascript,Regex,我正在使用JQuery编写一个应用程序,其中我将脚本包含在网页的标题部分,页面的数据是动态的,来自数据库 现在我需要检测页面上的URL。它可以是锚定标记,也可以是简单的书面URL 为了检测URL,我正在使用此函数 function checkURL(value) { var urlregex = new RegExp( "^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){0,1}([0-9A-Za-z]+\.)"); if
function checkURL(value) {
var urlregex = new RegExp(
"^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){0,1}([0-9A-Za-z]+\.)");
if(urlregex.test(value))
{
return(true);
}
return(false);
}
它工作正常,但如果URL没有www前缀,则会失败,例如myweb.com
请为我的代码推荐一个更好的正则表达式,它适用于所有有效的URL,包括子域
您还可以建议一种检测我网页上URL的最佳方法吗?所有超链接都将以任何或等开头。考虑到这一点,只需将document.getElementsByTagName调用到数组即可。数组将保存所有链接内容。只需提取超链接,无论是直接还是从数组对象的属性。感谢大家的编辑和thansk Felix Kling的使用完整链接,但仍然无法解决正则表达式问题。我只需要一个正则表达式,它可以验证几乎每个url(有或没有www.prefix),还可以验证子域。我不想验证ftp url的唯一简单通用web url