Calculate if a Netmask is valid (AS2)

snipped by tomo_atlacatl

Here is my solution to validating Netmask entries. I basically pass this function a netmask as Array. In return I get a boolean telling me if it is a valid netmask. WARNING! This is not IPv6 compatible.

//validate netmask. by tomo atlacatl
function NETMASK_validator(netmask2:Array):Boolean{
	var mask:Number = 0;
	var neg:Number = 0;
	for (var i:Number = 0; i < 4; i++) {
		mask |= ((netmask2[i]) << ((3 - i) * 8));
	}
	neg = ((~mask) & 0xFFFFFFFF);
	if (((neg + 1) & neg) == 0) {
		return true;
	} else {
		return false;
	}
}