IPv6 Address Validation と言うサイトがあります。IPv6アドレスとして妥当かチェックしてくれる上に、RFC5952に則った表記を教えてくれます。 ここでは正規表現によってIPv6アドレスとして正しいか評価しています。 それは、以下のような正規表現です。 IPv6アドレスをマッチする。 圧縮済みIPv6アドレスでもマッチする IPv4アドレスが含まれていてもマッチする リンクローカルアドレスを識別する為のインターフェース名が含まれていてもマッチする ((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9