some js validation cleanups and added a test for an empty string in number(), not yet true