Evaluation of isNum() and dePlusSign() function

Input

Enter a string into an inStr textbox such as " -56e+3", "234.55 ", "0xFD", " +10", etc...
and clik Submit button. You can include spaces in the front/rear of a string.
*An integer that starts "0" is estimated as octal (octaval, octonary), and a number that starts "0x" as hexadecimal.
But a decimal fraction that starts "0" such as "0.33" is estimated as decimal.

inStr =

Output

isNum(inStr) =
dePlusSign(inStr) =
eval(dePlusSign(inStr)) =
eval(inStr) =
Note1
An error occurs in eval(inStr) when inStr has prefix "+"(plus) sign with Netscape Navigator 3.0. But when inStr has "-"(minus), an error does not occur in eval().
The behaviors above might be a bug of NN3, because with NN4.78, inStr with prefix plus sign does not cause error.
Note2:
eval() of MSIE3 is so over generosity that MSIE3 does NOT point out errors whether inStr is abnormal like "-+-55" or missing exponent like "55e". (maybe its a bug I think). And MSIE4 and MSIE5 do same mistake for "-+-55".
MSIE5 is right for "55e" (I don't know about MSIE4 for "55e" because of not tested).
To my surprise, NN4.78 and Opera7.11, NN7.1 and Mozilla Firefox 1.0 do same mistake! for "-+-55". Why NN change a eval() behavior for worse? I am astounded at this situation, as if they copy eval() from MSIE's JScript.
If you have both NN3 and MSIE, compare the result. And you will find isNum() and dePlusSign() are robust against difference of browsers. So you can avoid errors while you check the value of isNum() before using eval(dePlusSign()).