function isValidAddressv6
isValidAddressv6(address: string): boolean

Checks if a string is a valid IPv6 address in colon-hexadecimal notation.

Accepts exactly what parseAddressv6 accepts: full form, compressed form with ::, IPv4-mapped addresses (::ffff:192.168.1.1), and an optional %zoneId (fe80::1%eth0), no prefix.

Examples

Valid addresses

import { assert } from "@std/assert";
import { isValidAddressv6 } from "@hertzg/ip";

assert(isValidAddressv6("::"));
assert(isValidAddressv6("::1"));
assert(isValidAddressv6("2001:db8::1"));
assert(isValidAddressv6("::ffff:192.168.1.1"));
assert(isValidAddressv6("fe80::1%eth0"));

Invalid addresses

import { assertEquals } from "@std/assert";
import { isValidAddressv6 } from "@hertzg/ip";

assertEquals(isValidAddressv6(""), false);
assertEquals(isValidAddressv6("192.168.1.1"), false);
assertEquals(isValidAddressv6("2001:db8:::1"), false);
assertEquals(isValidAddressv6("gggg::1"), false);
assertEquals(isValidAddressv6("fe80::1%"), false);
assertEquals(isValidAddressv6("fe80::1%eth0%1"), false);
assertEquals(isValidAddressv6("2001:db8::/32"), false);

Parameters

address: string

The address string to validate

Return Type

boolean

true if the string is a valid IPv6 address

Usage

import { isValidAddressv6 } from "mod.ts";