我有以下
function arrayInArray(chBox, values) {
try {
for (var y = 0; y < chBox.length; y++) {
var stringConcat = "/\b" + chBox[x] + ",?\b/";
var patt = new RegExp(eval(stringConcat));
console.log("value to check: " + chBox[y] + " " + values + " index " + patt.test(values));
但我无法让它发挥作用。如果我把它改成这个
var patt = new RegExp(/\b17,?\b/)
然后运行
patt.test(values)
它工作正常。
我正在传递
var checkbox = ["17", "23"];
谁能告诉我哪里出错了
感谢
有效的代码
for (var y = 0; y < chBox.length; y++) {
var stringConcat = "\\b" + chBox[y] + ",?\\b";
var patt = new RegExp(stringConcat);
if (patt.test(values) == false) return false;
}
答案 0 :(得分:0)
不需要eval
因为它已经是一个字符串。只需将其传递给RegExp
构造函数即可。您还应该删除前导和尾随/
,因为它将被解释为表达式的一部分。