JavaScript正規表現URL抽出ドメインのみ

MarkII

現在、次の正規表現を使用して任意のURLから「ドメイン」を抽出できます。

/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n\?\=]+)/im

ただし、回避したいサブドメインも取得しています。たとえば、サイトがある場合:

  • www.google.com
  • yahoo.com/something
  • freds.meatmarket.co.uk?someparameter
  • josh.meatmarket.co.uk/asldf/asdf

私は現在取得します:

  • Google COM
  • yahoo.com
  • freds.meatmarket.co.uk
  • josh.meatmarket.co.uk

最後の2つはfredsjoshサブドメインの部分を除外し、真のドメインのみを抽出したいと思いますmeatmarket.co.uk

PHPで解決しようとする別のSOFを見つけましたが、残念ながらPHPを知りません。これはJSに翻訳できますか(私は実際にGoogle Script FYIを使用しています)?

  function topDomainFromURL($url) {
    $url_parts = parse_url($url);
    $domain_parts = explode('.', $url_parts['host']);
    if (strlen(end($domain_parts)) == 2 ) { 
      // ccTLD here, get last three parts
      $top_domain_parts = array_slice($domain_parts, -3);
    } else {
      $top_domain_parts = array_slice($domain_parts, -2);
    }
    $top_domain = implode('.', $top_domain_parts);
    return $top_domain;
  }
オレグV.ボルコフ

したがって、すでに2つの部分しかない場合を除いて、結果から最初のホスト名を削除する必要がありますか?

その条件に一致する正規表現を使用して、最初の一致からの結果を後処理するだけです。

function domain_from_url(url) {
    var result
    var match
    if (match = url.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n\?\=]+)/im)) {
        result = match[1]
        if (match = result.match(/^[^\.]+\.(.+\..+)$/)) {
            result = match[1]
        }
    }
    return result
}

console.log(domain_from_url("www.google.com"))
console.log(domain_from_url("yahoo.com/something"))
console.log(domain_from_url("freds.meatmarket.co.uk?someparameter"))
console.log(domain_from_url("josh.meatmarket.co.uk/asldf/asdf"))

// google.com
// yahoo.com
// meatmarket.co.uk
// meatmarket.co.uk

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaScript正規表現-ドメインURL

分類Dev

URLからドメインを抽出する正規表現

分類Dev

URL内の特定のドメイン名のみの正規表現

分類Dev

サブドメインからドメインのみを抽出する正規表現

分類Dev

ドメイン名のみの正規表現

分類Dev

Scala正規表現はURLからドメインを抽出します

分類Dev

Golangの正規表現を使用してURLからサブドメインを抽出する

分類Dev

Pythonの正規表現を使用してURLからドメイン名を抽出します

分類Dev

Pythonの正規表現を使用してURLからドメイン名を抽出します

分類Dev

サブドメインを抽出するための正規表現

分類Dev

Notepad ++、Posix正規表現、およびURL(ドメインを取得するための正規表現)

分類Dev

URLからすべてのサブドメインとドメインを抽出でき、RFC3490と互換性のある正規表現

分類Dev

ドメインとサブドメインを抽出するための正規表現

分類Dev

正規表現を使用してJavaのURLのドメイン解析

分類Dev

私のドメインにない正規表現一致URL

分類Dev

URLのJavaScript正規表現

分類Dev

ドメインを1つのサブドメインのみと一致させる正規表現

分類Dev

すべてのサブドメインを取得するjavascript正規表現

分類Dev

メールドメインのJava正規表現

分類Dev

長いドメインに一致して抽出する正規表現

分類Dev

正規表現のみを使用してURLからパラメーター値のみを抽出する方法

分類Dev

特定のドメイン名の正規表現

分類Dev

いくつかのドメインの正規表現

分類Dev

Javaメール抽出の正規表現?

分類Dev

正規表現の単純なドメイン

分類Dev

ドメイン名の正規表現を取得する

分類Dev

複数の電子メールドメインのみを制御する正規表現

分類Dev

javascriptでの1つのURL検証のみの正規表現

分類Dev

正規表現を使用してドメインの後にURLの一部を取得する

Related 関連記事

  1. 1

    JavaScript正規表現-ドメインURL

  2. 2

    URLからドメインを抽出する正規表現

  3. 3

    URL内の特定のドメイン名のみの正規表現

  4. 4

    サブドメインからドメインのみを抽出する正規表現

  5. 5

    ドメイン名のみの正規表現

  6. 6

    Scala正規表現はURLからドメインを抽出します

  7. 7

    Golangの正規表現を使用してURLからサブドメインを抽出する

  8. 8

    Pythonの正規表現を使用してURLからドメイン名を抽出します

  9. 9

    Pythonの正規表現を使用してURLからドメイン名を抽出します

  10. 10

    サブドメインを抽出するための正規表現

  11. 11

    Notepad ++、Posix正規表現、およびURL(ドメインを取得するための正規表現)

  12. 12

    URLからすべてのサブドメインとドメインを抽出でき、RFC3490と互換性のある正規表現

  13. 13

    ドメインとサブドメインを抽出するための正規表現

  14. 14

    正規表現を使用してJavaのURLのドメイン解析

  15. 15

    私のドメインにない正規表現一致URL

  16. 16

    URLのJavaScript正規表現

  17. 17

    ドメインを1つのサブドメインのみと一致させる正規表現

  18. 18

    すべてのサブドメインを取得するjavascript正規表現

  19. 19

    メールドメインのJava正規表現

  20. 20

    長いドメインに一致して抽出する正規表現

  21. 21

    正規表現のみを使用してURLからパラメーター値のみを抽出する方法

  22. 22

    特定のドメイン名の正規表現

  23. 23

    いくつかのドメインの正規表現

  24. 24

    Javaメール抽出の正規表現?

  25. 25

    正規表現の単純なドメイン

  26. 26

    ドメイン名の正規表現を取得する

  27. 27

    複数の電子メールドメインのみを制御する正規表現

  28. 28

    javascriptでの1つのURL検証のみの正規表現

  29. 29

    正規表現を使用してドメインの後にURLの一部を取得する

ホットタグ

アーカイブ