0

入力ボックスにCSV形式のIDの文字列があります

12,23,26,32

この文字列に23または24が含まれているかどうかを確認する必要があります。はいの場合はfalseを返し、そうでない場合はtrueを返します。

4

5 に答える 5

1

indexOfを使用します。subStringが含まれているかどうかを確認できます。見つからない場合は、-1を返します

var str = "12,23,26,32"
return !(str.indexOf("23")!=-1 || str.indexOf("24")!=-1) // Dont have 23 or 24

=======編集=======

@Mattがコメントで述べたように、このソリューションは「12,239,26,32」でも機能しますが、それは重要ではありません。

indexOfをチェックする前に分割を行うと、コンマの間に要素が表示されます。

var array = "12,23,26,32".split(",");
return !(array.indexOf("23")!=-1 || array.indexOf("24")!=-1) // Dont have 23 or 24
于 2013-02-01T11:45:16.583 に答える
1
!/(^|,)2[34](,|$)/.test( str );

または空白が存在する可能性がある場合

!/(^|,)\s*2[34]\s*(,|$)/.test( str );

文字列引数が正規表現と一致する場合、または一致しない場合、RegExptestメソッドは戻ります。テスト呼び出しの結果を反転します。truefalse!

^は文字列の先頭のメタ文字であるため、(^|,)「文字列の先頭にある」または「1つのコンマ文字」のいずれかを意味します。

[^,]「コンマではない1文字」を意味するように書くことはできません。また[,^]、「コンマまたはリテラル^文字のいずれかである1文字」を意味するように書くこともできません。

2[34]2の後に3または4が続くことを
(,|$)意味します。コンマまたは$文字列の終わりを意味します。
\s*ゼロ個以上のスペース文字を意味します。

于 2013-02-01T11:49:28.993 に答える
0
if (/(?:^|,)(23|24)(?:,|$)/.test("12,23,26,32")) {
   /* found 23 or 24 */
}
于 2013-02-01T11:47:13.057 に答える
0

これを試して

var str = "12,23,26,32";

var isFound = (str.indexOf('23') || str.indexOf('24')) > -1;
于 2013-02-01T11:47:31.627 に答える
-1
var str = "12,23,26,32";

var obj = str.split(",");

var isFound = false;

for(i=0; i < obj.length; i++)
{
     if(obj[i] == "23" || obj[i] == "24")
     {
          isFound = true;
          break;
     }
}
return isFound;
于 2013-02-01T11:42:36.510 に答える