Restrição de lugar decimal em JavaScript com RegEx

Eu tenho alguma validação do lado do cliente em uma caixa de texto, que permite apenas números com até duas casas decimais sem outra entrada.

Esse script foi uma base para inserir apenas valores numéricos, no entanto, ele precisa ser adaptado para permitir um ponto decimal seguido por apenas duas casas decimais.

Eu tentei coisas como/[^\d].\d{0,2}, mas a chamada de substituição não funcionaria, e eu não tenho ideia de como fazer isso.

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

Eu preciso combinar uma string vazia. Se uma sequência vazia for fornecida e o formulário for enviado, o valor retornará ao zero.

questionAnswers(7)

yourAnswerToTheQuestion