Permitir apenas números de 6 ou 8 dígitos com 2 casas decimais

Criei um validador que verifica se dígito é um número e garante que dois dígitos sejam permitidos após uma casa decimal. O que isso não cobre é um número com 6 dígitos sem casas decimais (123456) ou 8 dígitos com 2 casas decimais (123456.78). Isto é o que eu vim com

function validateInt2Dec(value, min, max) {

    if (Math.sign(value) === -1) {
        var negativeValue = true;
        value = -value
    }

    if (!value) {
        return true;
    }
    var format = /^\d+\.?\d{0,2}$/.test(value);
    if (format) {
        if (value < min || value > max) {
            format = false;
        }
    }
    return format;
}

e sua implementação em forma formal

     vm.fields = [
             {
                className: 'row',
                fieldGroup: [
                    {
                        className: 'col-xs-6',
                        key: 'payment',
                        type: 'input',
                        templateOptions: {
                            label: 'Payment',
                            required: false,
                            maxlength: 8
                        },
                        validators: {
                            cost: function(viewValue, modelValue, scope) {
                                var value = modelValue || viewValue;
                                return validateInt2Dec(value);
                            }
                        }
                    }
                ]
            }
        ];

O que tenho que adicionar para cobrir o cenário acima?

questionAnswers(3)

yourAnswerToTheQuestion