Copy the Code code as follows:
Literally from the ABNF in rfc3986 (thanks to ' WCP ')
function ValidateIPv6 ($IP)
{
Return Preg_match ('/\a
(?:
(?:
(?: [a-f0-9]{1,4}:) {6}
::(?: [a-f0-9]{1,4}:) {5}
(?: [a-f0-9]{1,4})?::(?: [a-f0-9]{1,4}:) {4}
(?:(?: [a-f0-9]{1,4}:) {0,1}[a-f0-9]{1,4})?::(?: [a-f0-9]{1,4}:) {3}
(?:(?: [a-f0-9]{1,4}:) {0,2}[a-f0-9]{1,4})?::(?: [a-f0-9]{1,4}:) {2}
(?:(?: [a-f0-9]{1,4}:) {0,3}[a-f0-9]{1,4})?:: [a-f0-9]{1,4}:
(?:(?: [a-f0-9]{1,4}:) {0,4}[a-f0-9]{1,4})?::
)
(?:
[A-f0-9] {1,4}:[a-f0-9]{1,4}
(?:(?: [0-9]| [1-9] [0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]) \.) {3}
(?: [0-9]| [1-9] [0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])
)
(?:
(?:(?: [a-f0-9]{1,4}:) {0,5}[a-f0-9]{1,4})?:: [a-f0-9]{1,4}
(?:(?: [a-f0-9]{1,4}:) {0,6}[a-f0-9]{1,4})?::
)
) \z/ix ',
$IP
);
}
?>
The above describes the JavaScript regular expression PHP IPV6 Regular expression validation code, including the JavaScript regular expression aspects of the content, want to be interested in PHP tutorial friends helpful.