mirror of
https://github.com/wu736139669/Monkey-Test.git
synced 2026-08-05 05:55:46 +00:00
62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
var minus = '-'.charCodeAt(0);
|
|
var plus = '+'.charCodeAt(0);
|
|
var dot = '.'.charCodeAt(0);
|
|
var zero = '0'.charCodeAt(0);
|
|
var one = '1'.charCodeAt(0);
|
|
var two = '2'.charCodeAt(0);
|
|
var three = '3'.charCodeAt(0);
|
|
var four = '4'.charCodeAt(0);
|
|
var five = '5'.charCodeAt(0);
|
|
var six = '6'.charCodeAt(0);
|
|
var seven = '7'.charCodeAt(0);
|
|
var eight = '8'.charCodeAt(0);
|
|
var nine = '9'.charCodeAt(0);
|
|
|
|
|
|
module.exports = function (value) {
|
|
var pos = 0;
|
|
var length = value.length;
|
|
var dotted = false;
|
|
var containsNumber = false;
|
|
var code;
|
|
var number = '';
|
|
|
|
while (pos < length) {
|
|
code = value.charCodeAt(pos);
|
|
|
|
if (code === zero ||
|
|
code === one ||
|
|
code === two ||
|
|
code === three ||
|
|
code === four ||
|
|
code === five ||
|
|
code === six ||
|
|
code === seven ||
|
|
code === eight ||
|
|
code === nine) {
|
|
number += value[pos];
|
|
containsNumber = true;
|
|
} else if (code === dot) {
|
|
if (dotted) {
|
|
break;
|
|
}
|
|
dotted = true;
|
|
number += value[pos];
|
|
} else if (code === plus || code === minus) {
|
|
if (pos !== 0) {
|
|
break;
|
|
}
|
|
number += value[pos];
|
|
} else {
|
|
break;
|
|
}
|
|
|
|
pos += 1;
|
|
}
|
|
|
|
return containsNumber ? {
|
|
number: number,
|
|
unit: value.slice(pos)
|
|
} : false;
|
|
};
|