このコードを試してみましたが、正規表現は常にtrue.
正規表現keypressに加えて、新しい文字を追加する前に値をテストしているためkeyup、最後の文字が追加された場所がわからないため使用したくないという問題もあります(ユーザーは常に入力するとは限りませんchar を入力フィールドの末尾に)。
良い解決策をいただければ幸いです、ありがとう。
$('.myInputField').keypress(function(){
    var val = $(this).val();
    var regexTest = /^[0-9]{0,8}[.][0-9]{0,2}|[0-9]{0,8}$/;
    var ok = regexTest.test(val);
    if(ok)
        return true;
    else
        return false;