Restricción de lugar decimal en JavaScript con RegEx

Tengo alguna validación del lado del cliente en un cuadro de texto, que solo permite números de hasta dos decimales sin otra entrada.

Este script fue una base para ingresar solo valores numéricos, sin embargo, debe adaptarse para que pueda tomar un punto decimal seguido de solo hasta dos lugares decimales.

He intentado cosas como/[^\d].\d{0,2}, pero la llamada de reemplazo no funcionaría, y no tengo idea de cómo hacerlo.

Código
<script type="text/JavaScript">
  function valid(f) {
    if (!/^\d*$/.test(f.value)) {
      f.value = f.value.replace(/[^\d]/g,"");
      alert("Invalid number");
    }
  }
</script>
Nota

Necesito hacer coincidir una cadena vacía. Si se proporciona una cadena vacía y se envía el formulario, el valor predeterminado vuelve a cero.

Respuestas a la pregunta(7)

Su respuesta a la pregunta