我有一个数字列表,例如
var list = ["123","12345678","123","234,2345","2.34567","123.12345","-123","-0.1234","-324215.45"];这个列表可以有负数,正数和可选的十进制值,也可以是负数或正数。
我需要使用正则表达式来做3件事:
传入的值不知道,可以是任何数字。
更新1:
我得到了这个,这并不完美,但适用于一些数字:
var a = function(rand) {
var val = "";
var numArr = rand.split("");
for(var i = 0; i < numArr.length; i++) {
val = val + (Number(numArr[i])+1);
}
return "^[^" + val.split("").join("-9][^") + "-9]$"
}; // outputs "^[^2-9][^3-9][^4-9][^5-9][^6-9]$" with rand "12345"我试图从给定的值(例如"123456“是一个随机数( rand ) )中获得一个以编程方式生成的正则表达式,我希望能够使用regex值筛选出高于rand(或低于rand)的值的数字数组。
谢谢
发布于 2014-01-24 13:36:56
您可以使用underscore.js (http://underscorejs.org)筛选结果。例如..。
var list = ["123","12345678","123","234,2345","2.34567","123.12345","-123","-0.1234","-324215.45"];
function getAllNumbersBeforeValue(list, value) {
return _.filter(list, function(num) {
return num < value;
});
}这里有一个没有使用框架的例子..。
function getAllNumbersBeforeValue(list, value) {
var output = [];
for(var i = 0; i < list.length; i++) {
if(list[i] < value) {
output.push(list[i]);
}
}
return output;
}
getAllNumbersBeforeValue(list, 123);https://stackoverflow.com/questions/21334003
复制相似问题