主机名的正则表达式

Regex for hostname

本文关键字:正则表达式 主机      更新时间:2023-09-26

我有以下代码(currHost 是主机名):

if (currHost.match(/(alpha|beta|test|dev|load|local)'./))

但我需要添加其他条件,例如

  • 文件:

      .
    • od*.(* 为通配符)
    • 德瓦。
    • 。平方*。(* 为通配符)
    • .
    • hbox.

匹配网址示例:

    文件:/
  • /c:blahblahblah
  • www.sqc.mydomain.com
  • www.sqa.mydomain.com
  • www.odd.mydomain.com
  • www.odp.mydomain.com
  • www.hbox.mydomain.com
  • dev-wa.mydomain.com
示例

不匹配的网址:

  • www.sqcmydomain.com
  • www.sqamydomain.com
  • www.oddmydomain.com
  • www.odp.mydomain.com
  • www.hboxx.mydomain.com
  • dev-waa.mydomain.com

不知道如何处理这个问题?

谢谢!

对于您的文件匹配项,您可以简单地使用

document.location.protocol == 'file:'

您正在寻找的表达式是

curHost.match(/(alpha|beta|test|dev|load|local|'.od.*|dev-wa|'.sq.*|'.hbox)'./)

请记住,此表达式也将匹配 www.od.mydomain.com oddmydomain.com,因为它也是有效的匹配。如果您不希望这样做,则需要指定完整表达式(带有.com部分)或指定 od/sq 部分后的字符数。例如

curHost.match(/(alpha|beta|test|dev|load|local|'.od.{1}|dev-wa|'.sq.{1}|'.hbox)'./)

对于一个字母匹配。

如果只想在域的开头专门匹配这些字符串,无论是否使用 www。

curHost.match(/^(www'.)?(alpha|beta|test|dev|load|local|od.+|dev-wa|sq.+|hbox)'./)
if (currHost.match(/(alpha|beta|test|dev|load|local|file:|dev-wa|od'*|hbox)?'./))

只是像上面一样添加?或者你的意思是别的?我从紫苑中添加了一个斜杠。在末尾加了一个问号,使其不讨人喜欢