secondo me basta che tu controlli la prima condizione


codice:
|| ((isNaN(campo2))


non serve

Tra l'altro modificherei anche l'espressione regolare in questo modo:


codice:
 if (!(campo2.match(/(\d+)(,(\d{2}))?/)))
Così non sei obbligata a specificare sempre due decimali