檢查IPv4和IPv6位址的正規表示式

2021-06-07 21:41:25 字數 1044 閱讀 7048

原文:

今天看了點正規表示式(regular expression)的語法,學了下ipv4和ipv6位址的檢查方法。

^((25[0-5]|2[0-4]\d|[0-1]?\d\d?)\.)(25[0-5]|2[0-4]\d|[0-1]?\d\d?)$

^\s*((([0-9a-fa-f]:)(([0-9a-fa-f])|:))|(([0-9a-fa-f]:)(:|((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))|(:[0-9a-fa-f])))|(([0-9a-fa-f]:)((:((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))?)|((:[0-9a-fa-f]))))|(([0-9a-fa-f]:)(:[0-9a-fa-f])((:((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))?)|((:[0-9a-fa-f]))))|(([0-9a-fa-f]:)(:[0-9a-fa-f])((:((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))?)|((:[0-9a-fa-f]))))|(([0-9a-fa-f]:)(:[0-9a-fa-f])((:((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))?)|((:[0-9a-fa-f]))))|(([0-9a-fa-f]:)(:[0-9a-fa-f])((:((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))?)|((:[0-9a-fa-f]))))|(:(:[0-9a-fa-f])((:((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))?)|((:[0-9a-fa-f]))))|(((25[0-5]|2[0-4]\d|[01]?\d)(\.(25[0-5]|2[0-4]\d|[01]?\d)))))(%.+)?\s*$

ipv6位址的正規表示式有點複雜

校驗IPv4和IPv6位址和URL位址

function validateip obj obj val dialogtop alert alert warning return false 呼叫 onblur validateip this function addfilterip images delete.png onclick de...

IPv4與IPv6位址格式詳解

ipv4位址是類似 a.b.c.d 的格式,它是32位,用 分成四段,用10進製表示 ipv6位址類似 x x x x x x x x的格式,它是128位的,用 分成8段,每個x是乙個16進製制數 16 2 4 可見,ipv6位址空間相對於ipv4位址有了極大的擴充 ipv6 位址的長度為 128 ...

c 對ipv4和ipv6位址的相容處理

目前ipv6的應用越來越廣泛,慢慢將變成強制的標準,做網路應用開發的,在未來會越來越的要開始支援ipv6,但是ipv6肯定不是一下子就可以大範圍應用的,必然有一段時間ipv4與ipv6共存,要做到對ipv4和ipv6的同時支援。關於如何讓程式支援ipv6 可以參考 示例 見 這個文章只講如何相容ip...