Arrrgh!  RegEx is icky for this.  If you can't use IsNaN(), this should work much better:

    function IsNumeric(input)
    {
       return (input - 0) == input;
    }

The <code>(input - 0)</code> forces the value to be interpreted as a number for the mathmatical op.  Then the _numeric_ result is compared as a string (if that's what you passed in, but if you passed in a number it should return <code>true</code> anyway) to your original value. If they match, we have a winner.