我想使用 JavaScript 从字符串中检索所有数字,甚至是负数和小数。理想情况下,这些数字应该在一个数组中。
Examples:
'1 2.5 5' ---> [1, 2.5, 5]
'-4.7 abcd56,23' ---> [-4.7, 56, 23]
这是我所拥有的:
function processUserInput() {
let rawUserInput = document.getElementById("number-input").value;
let negativeNumRegex = /^-?[0-9]\d*(\.\d+)?$/g;
return negativeNumRegex.exec(rawUserInput);
}
更新:这是正确的
/-?[.\d]+/g
在两端和g
标志上都有一个锚点的表达式很少有意义。(它可以,有一个交替,但除此之外它通常不会。)
我可能会使用更简单的东西: /-?[.\d]+/g
const rex = /-?[.\d]+/g;
console.log('1 2.5 5'.match(rex));
console.log('-4.7 abcd56,23'.match(rex));
.as-console-wrapper {
max-height: 100% !important;
}
请注意,这不能针对诸如此类的事情进行验证4..2
。练习留给读者。:-)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句