IPv6IP字符串格式的正則表達(dá)式
1、表達(dá)式全文
/^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|^([\da-fA-F]{0,4}:):([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|^([\da-fA-F]{1,4}:){4}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|^([\da-fA-F]{1,4}:){5}:((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$|^[\da-fA-F]{0,4}:((:[\da-fA-F]{1,4}){1,6}|:)$|^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,5}|:)$|^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,4}|:)$|^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,3}|:)$|^([\da-fA-F]{1,4}:){5}((:[\da-fA-F]{1,4}){1,2}|:)$|^([\da-fA-F]{1,4}:){6}:([\da-fA-F]{1,4})?$|^([\da-fA-F]{1,4}:){6}:$/
2、分段解釋
2.1 IPv6 兼容IPv4規(guī)則
IPv6兼容IPv4的字符串格式是一種特殊的IPv6地址表示方法,用于在IPv6網(wǎng)絡(luò)中表示IPv4地址。這種表示方法使用了IPv4映射地址和6to4地址。
IPv4映射地址用于將IPv4地址嵌入到IPv6地址中。它使用冒號(:)分隔的四個十六進(jìn)制數(shù)字來表示,其中前三個數(shù)字表示網(wǎng)絡(luò)的IPv6前綴,而后一個數(shù)字表示IPv4地址的八位數(shù)。例如,0:0:0:0:0:FFFF:w.x.y.z 或 ::FFFF:w.x.y.z 表示一個IPv4地址 w.x.y.z。
2.1.1 IPv4的正則
IPv4地址位小于等于255的三個數(shù)字用小數(shù)點分割。例如,w.x.y.z 表示一個IPv4地址 w.x.y.z。
/^((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$/
2.1.2 IPv6兼容IPv4全字符的正則
IPv6兼容IPv4的字符串格式,則是在IPv4串前加上以冒號隔開的6組4位16進(jìn)制字符,并在IPv4前加冒號隔開。例如,F(xiàn)FFF:FFFF:FFFF:FFFF:FFFF:FFFF:w.x.y.z 。
^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$
2.1.3 IPv6兼容IPv4字符帶省略寫法的正則
IPv6格式可以進(jìn)行縮寫,縮寫規(guī)則是兩個冒號之間如果都是0的話可以省略,出現(xiàn)一個雙冒號,但是雙冒號只能出現(xiàn)一個,例如,F(xiàn)FFF::FFFF:FFFF:FFFF:FFFF:ww.x.y.z 或 ::FFFF:w.x.y.z
^([\da-fA-F]{0,4}:):([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|
^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|
^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|
^([\da-fA-F]{1,4}:){4}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|
^([\da-fA-F]{1,4}:){5}:((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)$|
2.2 IPv6字符串格式
IPv6地址由8組由冒號分隔的4位十六進(jìn)制數(shù)字組成,每組數(shù)字范圍在0到ffff之間。例如,F(xiàn)FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。
IPv6格式可以進(jìn)行縮寫,縮寫規(guī)則是兩個冒號之間如果都是0的話可以省略,出現(xiàn)一個雙冒號,但是雙冒號只能出現(xiàn)一個,例如,F(xiàn)FFF::FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 或 ::FFFF
2.2.1 IPv6全字符串的正則
IPv6地址由8組由冒號分隔的4位十六進(jìn)制數(shù)字組成,每組數(shù)字范圍在0到ffff之間。例如,F(xiàn)FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。文章來源:http://www.zghlxwxcb.cn/news/detail-845560.html
^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$
2.1.2 IPv6字符帶省略寫法的正則
IPv6格式可以進(jìn)行縮寫,縮寫規(guī)則是兩個冒號之間如果都是0的話可以省略,出現(xiàn)一個雙冒號,但是雙冒號只能出現(xiàn)一個,例如,F(xiàn)FFF::FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 或 ::FFFF文章來源地址http://www.zghlxwxcb.cn/news/detail-845560.html
^[\da-fA-F]{0,4}:((:[\da-fA-F]{1,4}){1,6}|:)$|
^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,5}|:)$|
^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,4}|:)$|
^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,3}|:)$|
^([\da-fA-F]{1,4}:){5}((:[\da-fA-F]{1,4}){1,2}|:)$|
^([\da-fA-F]{1,4}:){6}:([\da-fA-F]{1,4})?$|
^([\da-fA-F]{1,4}:){6}:$
到了這里,關(guān)于【IPv6】IP字符串格式的正則表達(dá)式及詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!