diff --git a/jquery.parse.js b/jquery.parse.js index 0ee89b6..d432456 100644 --- a/jquery.parse.js +++ b/jquery.parse.js @@ -50,7 +50,8 @@ var _config = config; var _errors = []; var _regex = { - floats: /^-?\d+(\.\d+)?$/, + // floats: /^-?\d+(\.\d+)?$/, + floats : /^(\s*)(-?)[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/, empty: /^\s*$/ } var _state = emptyState(); diff --git a/tests.js b/tests.js index cb26482..2a9d72e 100644 --- a/tests.js +++ b/tests.js @@ -366,6 +366,41 @@ var tests = [ } } ] + }, + { + input: "F1,F2,F3\n2,-2, 2\n 2. ,.2, .2 \n-2., -2.0, -.4 ", + cases: [ + { + config: { delimiter: ",", header: true, dynamicTyping: true }, + expected: { + "results": { + "fields": [ + "F1", + "F2", + "F3" + ], + "rows": [ + { + "F1": 2, + "F2": -2, + "F3": 2 + }, + { + "F1": 2, + "F2": .2, + "F3": .2 + }, + { + "F1": -2, + "F2": -2, + "F3": -0.4 + } + ] + }, + "errors": [] + } + } + ] } ];