From ad896594e1d93c77a875fdea2b55f32020e7cda5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=AC=E6=B1=9F?= Date: Mon, 17 Sep 2018 17:21:13 +0800 Subject: [PATCH] binary number support --- lib/parse.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/parse.js b/lib/parse.js index 29df370c..179dc56c 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -59,6 +59,7 @@ var OPERATOR_CHARS = makePredicate(characters("+-*&%=<>!?|~^")); var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i; var RE_OCT_NUMBER = /^0[0-7]+$/; +var RE_BIN_NUMBER = /^0b[01]+$/i; var OPERATORS = makePredicate([ "in", @@ -193,6 +194,8 @@ function parse_js_number(num) { return parseInt(num.substr(2), 16); } else if (RE_OCT_NUMBER.test(num)) { return parseInt(num.substr(1), 8); + } else if (RE_BIN_NUMBER.test(num)) { + return parseInt(num.substr(2), 2); } else { var val = parseFloat(num); if (val == num) return val;