入力ボックスにCSV形式のIDの文字列があります
12,23,26,32
この文字列に23または24が含まれているかどうかを確認する必要があります。はいの場合はfalseを返し、そうでない場合はtrueを返します。
入力ボックスにCSV形式のIDの文字列があります
12,23,26,32
この文字列に23または24が含まれているかどうかを確認する必要があります。はいの場合はfalseを返し、そうでない場合はtrueを返します。
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
!/(^|,)2[34](,|$)/.test( str );
または空白が存在する可能性がある場合
!/(^|,)\s*2[34]\s*(,|$)/.test( str );
文字列引数が正規表現と一致する場合、または一致しない場合、RegExptest
メソッドは戻ります。テスト呼び出しの結果を反転します。true
false
!
^
は文字列の先頭のメタ文字であるため、(^|,)
「文字列の先頭にある」または「1つのコンマ文字」のいずれかを意味します。
[^,]
「コンマではない1文字」を意味するように書くことはできません。また[,^]
、「コンマまたはリテラル^
文字のいずれかである1文字」を意味するように書くこともできません。
2[34]
2の後に3または4が続くことを
(,|$)
意味します。コンマまたは$
文字列の終わりを意味します。
\s*
ゼロ個以上のスペース文字を意味します。
if (/(?:^|,)(23|24)(?:,|$)/.test("12,23,26,32")) {
/* found 23 or 24 */
}
これを試して
var str = "12,23,26,32";
var isFound = (str.indexOf('23') || str.indexOf('24')) > -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;