function MoneyInput(val)
{
val.value = val.value.replace(/[^\d.]*/g, '')
.replace(/([.])[.]+/g, '$1')
.replace(/^[^\d]*(\d+([.]\d{0,2})?).*$/g,'$1');
}
toFixed(2)
и восстановить положение курсора.