<script language="javascript">
    // Mascara IP    //
    function maskIP(e,obj){
        if (document.all){var evt=event.keyCode;} // caso seja IE
        else{var evt = e.charCode;}    // do contr�rio...
        if (evt <20) return true;    // liberando teclas de controle
        if ( (/^(\d{1,3}\.){3}\d{3}$/).test(obj.value) ) return false;        
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada
        if (! (/[\d\.]/).test(chr)) return false; // testando se � uma tecla v�lida (um digito ou um ponto)
        if (chr=='.')
            return (!(/\.$|^(\d{1,3}\.){3}/).test(obj.value) );
        else 
            if( (/\d{3}$/).test(obj.value) )
                obj.value+='.';            
        return true;
    }
    // /Mascara IP    //

    // Valida IP    //    
    function validateIP(ip,showErrMsg){
        a = (/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/).test(ip);
        if (!a && showErrMsg){
            alert(ip+' n�o � um ip v�lido!');
        }
        return a;
    }
    // /Valida IP    //    

//Modo de uso.
<input name="main_ip" type="text" class="em" id="main_ip" size="15" maxlength="15" onkeypress ="return ( maskIP(event,this) );" onblur="if (!validateIP(this.value)) this.style.backgroundColor='#FF9999';" onfocus="this.style.backgroundColor='transparent';" />

// Na funcao "validateIP()" coloquei um parametro que se ajustado 
// exibe um mesagem de alerta.