23

私はそのように区切られた文字列を持っています(それは配列ではなく、まっすぐな文字列です)

string = " [米国] [カナダ] [インド] ";

以下のようなことをしたいです。

if( string contains "Canada" ) {
 //Do Canada stuff here
}

ヒントをありがとう

4

2 に答える 2

7
var string = '[United States][Canada][India]';
var search = 'Canada';
if (string.indexOf('[' + search + ']') !== -1) {
  // Whatever
}
于 2012-04-04T15:42:45.260 に答える
3

Stringメソッドを拡張するだけです...ボーナスとして、大文字と小文字を区別しない一致を追加しました

// Only line you really need 
String.prototype.has = function(text) { return this.toLowerCase().indexOf("[" + text.toLowerCase() + "]") != -1; };

// As per your example
var Countries = " [United States] [Canada] [India] ";

// Check Spain
 if (Countries.has("Spain")) {
   alert("We got Paella!");
} 
// Check Canada
if (Countries.has("Canada")) {
   alert("We got canadian girls!");
}
// Check Malformed Canada
 if (Countries.has("cAnAdA")) {
   alert("We got insensitive cAnAdiAn girls!");
}
// This Check should be false, as it only matches part of a country
if (Countries.has("Ana")) {
   alert("We got Ana, bad, bad!");
} 

デモ: http: //jsfiddle.net/xNGQU/2/

于 2012-04-04T16:01:14.283 に答える