1

我想要可以验证任何 WebURL 的 javascript 中的正则表达式。

它应该接受以下格式:

google.com/...
www.google.com/...
http://google.com/...
https://google.com/...

我为此尝试了很多正则表达式。但没有一个看起来完美。以下是一些尝试过的正则表达式:-

/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
/[a-z]+:\/\/(([a-z0-9][a-z0-9-]+\.)*[a-z][a-z]+|(0x[0-9A-F]+)|[0-9.]+)\/.*/
/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
/^(((ht|f){1}((tp|tps):[/][/]){1}))[-a-zA-Z0-9@:%_\+.~#!?&//=]+$/

我希望正则表达式应该只占用 3 个 WWW。不超过 3 个且不小于 3 个 WWW。

4

3 回答 3

0

你有什么想法:

((http|https|)\://){0,1}([w]{3}.){0,1}[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}

解释

  • ((http|https|)\://){0,1}对于可选协议(“”或“http://”或“https://”都可以)
  • ([w]{3}.){0,1}对于可选www字符串
  • [a-zA-Z0-9\-\.]+对于域名
  • [a-zA-Z]{2,3}对于域后缀,例如:com、uk、biz、tv 等。
于 2013-07-29T09:46:33.953 回答
0

这将匹配您的所有网址:

(https?://)?(www\.)?([a-zA-Z0-9_%]*)\b\.[a-z]{2,4}(\.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(\.[a-z]*)?

尽管不可能,但要准确检查三个“W”,因为可能存在子域。如果你真的需要这个检查,我会使用第二个正则表达式来测试它。

于 2013-07-29T09:49:01.623 回答
0

这里有两种验证 URL 的方法

 ^(https?|ftp|file)://.+$

  ^((https?|ftp)://|(www|ftp)\.)[a-z0-9-]+(\.[a-z0-9-]+)+([/?].*)?$

试试这些...

于 2013-07-29T09:58:30.217 回答