libs/web: fix IPv6 live validation

This commit is contained in:
Jo-Philipp Wich 2010-11-23 23:19:40 +00:00
parent f3d0ba58e5
commit 6d02d50d46

View file

@ -75,7 +75,7 @@ var cbi_validators = {
var colons = 0; var colons = 0;
var fill = '0'; var fill = '0';
for( var i = 0; i < addr.length; i++ ) for( var i = 1; i < (addr.length-1); i++ )
if( addr.charAt(i) == ':' ) if( addr.charAt(i) == ':' )
colons++; colons++;
@ -85,7 +85,9 @@ var cbi_validators = {
for( var i = 0; i < (7 - colons); i++ ) for( var i = 0; i < (7 - colons); i++ )
fill += ':0'; fill += ':0';
addr = addr.replace(/::/, ':' + fill + ':'); if (addr.match(/^(.*?)::(.*?)$/))
addr = (RegExp.$1 ? RegExp.$1 + ':' : '') + fill +
(RegExp.$2 ? ':' + RegExp.$2 : '');
} }
return (addr.match(/^(?:[a-fA-F0-9]{1,4}:){7}[a-fA-F0-9]{1,4}$/) != null); return (addr.match(/^(?:[a-fA-F0-9]{1,4}:){7}[a-fA-F0-9]{1,4}$/) != null);