scusatemi ma non ho trovato ahimè nulla sul forum di specifico per il mio caso e dopo mille tentativi con le RE non ci ho cavato un ragno dal buco

espongo il mio problema

Ho un campo di un form dove va inserito un valore

può essere:
12
12,5
12,55

più nello specifico, la parte intera deve sempre essere di 1-6 come lunghezza max, quindi 6 cifre, mentre la parte decimale ne deve avere al max 2 di decimali

solo che ahimè posso inserire 1234567, quindi 7 cifre per la parte intera, ma non mi ricava l'errore

premettendo che a monte faccio un replace della virgola col punto, ecco la mia RE:
codice:
function ValidaImporto(valore)
{
	if (!valore.match(/(\d{1,6}\.\d{1,2})|\d{1,6}/))
		return false;
	else
		return true;
}
qualche anima pia nonchè guru mi aiuta a risolvere l'arcano mistero?

grazie mille