JS Validation IP: Puerto

Tengo una pregunta sobre cómo validar IP: Puerto juntos. ejemplo:

192.158.2.10:80 <- Válido

192.158.2.10 <--- No válido

Así que el puerto es una necesidad, encontré alguna validación de IP (Regex) pero para ser combinado con el puerto sin suerte. No quiero usar un campo de entrada separado para el puerto.

Mi idea era gustar así:

var str = '192.168.10.2:80';
var substr = ':';
     if (str.indexOf(substr) !== -1){
         var pieces = str.split(':', 2);
         var ip    = pieces[0];
         var port  = pieces[1];
         //and here validate ip and port
     }else{
         console.log('the char '+substr+' is not there');
     }

¿Esta es la manera correcta? o hay mas simple?

Respuestas a la pregunta(5)

Su respuesta a la pregunta