如何使用Angular.js / Javascript将值与逗号分隔的字符串进行匹配

时间:2017-08-23 06:41:51

标签: javascript angularjs

我需要一些帮助。我需要将一些值与一个包含值的变量匹配,该值是使用Angular.js或Javascript的逗号分隔字符串。我在下面解释我的代码。

var special="2,1,4,5";

在这里,我需要搜索,但是这个以逗号分隔的字符串中是否存在1。如果给定的值存在,它将返回true,否则为false。请帮助。

4 个答案:

答案 0 :(得分:3)

使用数组拆分

var found = special.split(",").indexOf("1") > -1;



var special="2,1,4,5";
var found = special.split(",").indexOf("1") > -1;
console.log(found); // true




只是为了证明String的指数不会起作用



var special="2,11,4,5";
var found = special.indexOf("1") > -1;
console.log(found); // true but actual should be false as there is no 1




答案 1 :(得分:0)

您可以先将字符串转换为如下数组:

var specialArray = special.split(',');

拥有数组后,您可以使用indexOf查找数组中的项目。

var itemIndex = specialArray.indexOf('1');
当您要查找的值不在数组中时,

itemIndex将为-1。当indexOf的结果大于-1时,它是数组中项目的索引。

答案 2 :(得分:0)

试试这个,

var special="2,1,4,5";
var searchFor="1";
var index=special.split(",").indexOf(searchFor);
if(index === -1) return false;
else return true;

答案 3 :(得分:0)

您可以使用正则表达式:

/(^|,)1(,|$)/.test("2,1,4,5") // => true

只是为了测试否定案例

/(^|,)1(,|$)/.test("2,11,4,5") // => false

如果您有多行字符串(包含\r\n),请改用/(^|,)1(,|$)/m