お世話になります。

Windows、VisualStudio2015のASP.NET(VisualBasic)、.NET Framework4.6、
ローカルIIS、ブラウザはGoogleChrome、IE、で開発しています。

1つのページにtext(ASP.NETではTextBox、名称はtxtTest)を置き、
半角数字のみ入力できるように、function(名称はnumOnly())を設定します。

HTMLのソースは以下の通りです。
functionは、<head><script></script></head>
に書いてあります。


<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
<script>
<!--
// 半角数値のみを入力可能にする
function numOnly() {
  m = String.fromCharCode(event.keyCode);
  if("0123456789\b\r".indexOf(m, 0) < 0) return false;
  return true;
}
//-->
</script>
</head>

<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtTest" runat="server"></asp:TextBox>・・・※A
    </div>
    </form>
</body>
</html>

また、プログラムにおいては、
ページをロードする際に、
次のコードを実行します。


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        txtTest.Attributes.Add("onkeydown", "return numOnly()")
End Sub

また、ブラウザで実行しますと、上記の※Aの部分のソースは、
以下のようになります。


<input name="txtTest" type="text" id="txtTest" onkeydown="return numOnly()" />

これにより、パソコンのキーボードの上の方に横に並んでいる数字キーで、
半角数字のみ入力はできるようになったのですが、
テンキーでの半角数字入力ができません。

これをできるようにしたいのですが、
何か適切な方法がございましたら、
ご教示いただけたら幸いです。

どうそよろしくお願いします。

(functionの参照元)
http://javascript.eweb-design.com/1205_no.html

<SCRIPT>という(大文字)はASP.NETでは適切でないようで、小文字に。
「language="JAVASCRIPT"」の個所もエラーになるため外してあります。