IP de Validação JS: Porta

Eu tenho uma pergunta, sobre como validar IP: Port juntos. exemplo:

192.158.2.10:80 <- Válido

192.158.2.10 <--- inválido

Portanto, a porta é uma obrigação, eu encontrei alguma validação de IP (Regex), mas para combinar com a porta sem sorte. Eu não quero usar um campo de entrada separado para porta.

Minha idéia era assim:

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');
     }

Está certo? ou ai mais simples?

questionAnswers(5)

yourAnswerToTheQuestion