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.
Valid addresses
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
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);