用逗号(,)分隔并检查是否有任何值=“something”

时间:2012-10-05 14:01:47

标签: javascript string-parsing

我怎么能用逗号(,)以某种方式分割/分离我的JavaScript变量 然后检查是否value-of-any-of-the-separated-strings = "something"

例如,我的变量的值为1,2,3,4,5,6,7,8,9,10,2212312,我想检查IF语句中的任何数字是否为= 7

有没有人有任何想法如何做到这一点?

8 个答案:

答案 0 :(得分:12)

首先,将字符串拆分为","。然后,在split-string数组上使用indexOf来查看是否找到目标字符串(-1表示在数组中找不到它)。例如:

var str = "1,2,3,4,5,6,7,8,9,10,10,2212312";
var split_str = str.split(",");
if (split_str.indexOf("7") !== -1) {
    // Original string contains 7
}

<强>参考文献:

答案 1 :(得分:3)

这是Array.prototype.some的简单应用:

var yourVar = '1,2,3,4,5,6,7,8,9,10,2212312';
function isSeven(val) {
    return val === '7';
}
if (yourVar.split(',').some(isSeven)) {
    //do stuff
}

另一个common way可以写成:

if (~yourVar.split(',').indexOf('7')) {
    //do stuff
}

或者如果已定义Array.prototype.contains

if (yourVar.split(',').contains('7')) {
    //do stuff
}

或者如果你想使用正则表达式:

if (/(?:^|,)7(?:,|$)/.test(yourVar)) {
    //do stuff
}

注意: Array.prototype.someArray.prototype.indexOfArray.prototype.contains都要求polyfills能够跨浏览器正常工作。

答案 2 :(得分:1)

将其拆分为数组,然后使用indexOf查看它是否存在。如果它返回-1,则不是。

"1,2,3,4,5,6,7,8,9,10,2212312".split(",").indexOf("7")

答案 3 :(得分:0)

使用splitArray.indexOf()

var str = "1,2,3,4,5,6,7,8,9,10,2212312";
var num = 7;
var pieces = str.split(",");
var index = pieces.indexOf(num.toString());

也可以使用正则表达式

var str = "1,2,3,4,5,6,7,8,9,10,2212312";
var num = 7;    
var re = new RegExp("(^|,)" + num + "($|,)");
alert(re.test(str));

jsFiddle example

答案 4 :(得分:0)

使用splitindexOf

var someString = '1,2,3,4,5,6,7,8,9,10,2212312';
var splitArray = someString.split(',');
var sevenPosition = splitArray.indexOf('7');

http://jsfiddle.net/jbabey/f4NLY/

答案 5 :(得分:0)

您可以使用Array.filter,例如:

var values = '1,2,3,4,5,6,7,8,9,10,2212312'.split(','), find = 7;
if ( values.filter(function(a){return +a === find;}).length ) { /* ... */ }

答案 6 :(得分:0)

男人,我希望它能帮助你。

    var yourValues = '1,2,3,4,5,6,7,8,9,10,2212312';
    var array = yourValues.split(",");
    boolean isValue = false;
    for(i in array)
    {
       if(array[i]=='7')
       {
             isValue=true;
       }
    }


    if(isValue)
        alert("your number is in the string");
    else
        alert("your number is in the string");

答案 7 :(得分:-2)

您在寻找“包含”功能吗?你可以使用jQuery。

if ($.inArray(7, value-of-any-of-the-seperated-strings))
{
   console.log("there is a 7!")
}