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