当URL可能包含或不包含HTTP和WWW时,URL的JavaScript Regex

JavaScript Regex for URL when the URL may or may not contain HTTP and WWW

本文关键字:包含 URL JavaScript Regex WWW HTTP      更新时间:2023-09-26

我正在使用JavaScript正则表达式来检查URL。

(?i)'b((?:[a-z]['w-]+:(?:/{1,3}|[a-z0-9%])|www'd{0,3}[.]|[a-z0-9.'-]+[.][a-z]{2,4}/)(?:[^'s()<>]+|'(([^'s()<>]+|('([^'s()<>]+')))*'))+(?:'(([^'s()<>]+|('([^'s()<>]+')))*')|[^'s`!()'[']{};:'".,<>?«»“”‘’]))

我用这个Regex向Twitter发送消息。这样做可以确保URL包含WWW和/或HTTP。

但问题是,如果URL像Guaridan.com.ukTwitter认为它是一个URL。

那么,我如何修改我的Regex,使其不会检查HTTP或WWW,也就是说,如果它在那里,它就不会起任何作用。

因此,它将像My.co.comdummy.com.in.

那样匹配

如果你只想匹配域名,你必须匹配几乎任何单词加"."、"_"answers"-"符号。一种方法可能是至少匹配根域(.com、.net、.us、.co.uk、.es、.fr…等等),但列表会很大。你可能只想匹配任何有点分隔单词的东西,而不是说它肯定是一个域,但你可以尝试连接到它。

此正则表达式:(['d'w]+?:'/'/)?(['w'd'.'-]+)('.'w+)(:'d{1,5})?('/'S*)?

将匹配:

  • 第1组作为协议://(可选)
  • 组2将组3连接为域
  • 第3组是顶级域
  • 组4为:端口(可选)
  • 组5作为查询(可选)

jQuery正则表达式的www和http URL格式。

下面给出了接受www以及httpURL的正则表达式:

var pattern = /(?:https?:'/'/)?(?:www'.)?(?:https?:'/'/)?(?:www'.)(?:https?:'/'/)?(?:www'.)?('/'S*)?/;

下面给出了接受wwwhttpabc.com的正则表达式:

var pattern = (['d'w]+?:'/'/)?(['w'd'.'-]+)('.'w+)(:'d{1,5})?('/'S*)?

试试这个。。。

/^http:'/'/|(www'.)?[a-z0-9]+(['-'.]{1}[a-z0-9]+)*'.[a-z]{2,5}(:[0-9]{1,5})?('/.*)?$/

这正是人们想要的。

3和CCD_ 4或不带CCD_。