我有一个空格分隔值80,3537,3718,3721, 1519, 2344
,我想检查第二个值是否与任何空格分隔值相匹配
例如,如果第二个值等于以下3中的任何一个,那么输出应该通过
80,3537,3718,3721
1519
2344
以下值应该失败,因为它与任何空格分隔值
都不匹配 2000
我想用简单的javascript实现这一点,如何做到这一点。
更新:
这是我到目前为止尝试检查result2
空格分隔值中是否存在result1
var result1 = '80,3537,3718,3721, 1519, 2344'
var result2 = '1519'
if (result1.match(new RegExp("(?:^|,)" + result2 + "(?:,|$)"))) {
console.log(true);
}
答案 0 :(得分:0)
我建议创建一个小帮手功能。我没有看到任何更具体的代码,但这应该可以正常工作。
function checkVal(str, val) {
const arr = str.split(' ');
return arr.includes(val);
}
//For Example...
let exStr = '132,340,23 32 345 1,223',
exVal = '345';
alert(checkVal(exStr, exVal));

(编辑)
使用您的变量,它看起来像这样。我在分割中添加了一个空格和逗号以匹配','你的例子中的每个值之间都有。
var result1 = '80,3537,3718,3721, 1519, 2344';
var result2 = '1519';
var test = result1.split(', ').includes(result2);
console.log(test);

答案 1 :(得分:0)
您可以先拆分空格分隔的字符串。
var secondNumber = whatever;
var string = "80,3537,3718,3721, 1519, 2344";
var ans = string.split(" ");
for (int i = 0; i < ans.length; i++) {
num = ans[i];
num.replace(/,/g , "");
num = parseInt(num, 10);
}
if (ans.indexOf(secondNumber) > -1 ) {
return true;
}
return false;
答案 2 :(得分:0)
var str = '80,3537,3718,3721, 1519, 2344';
var arr = str.split(' ');
for(var i=0;i<arr.length;i++){
arr[i] = arr[i].trim().replace(/,\s*$/, "");
}
console.log((arr.indexOf('1519') === 1)?'true':'false');
答案 3 :(得分:0)
您的正则表达式需要稍作修改才能涵盖所有可能的情况。
var result1 = "80,3537,3718,3721, 1519, 2344";
var result2 = "1519";
if (new RegExp("(^|(,\\s))" + result2 + "(,|$)").test(result1)) {
console.log(true);
}
&#13;