1

カンマで区切られた数字を持つ文字列または数字のリストで正確に受信した数字を見つけるためのテスト関数で使用する正規表現を書くのを手伝ってくれませんか。

たとえば。125 のような引数と '12,74,48,125,1253,1' のような文字列があります。または、12,74,48,125,1253,1 の数字のリストを使用する方が簡単な場合 (両方を使用できます) 正規表現を作成するにはどうすればよいですか正確にこの数を見つけて true または false を返します。

私はこれを使用しましたが、数字が3桁から4桁かどうかはわかりません

if(new RegExp('\\b'+number+'\\b').test('12,74,48,125,1253,1')){
alert('true');
}

このリストは、「125」のように 1 つの数字だけにすることもできます。正規表現の練習はほとんどありません。前もって感謝します。

4

4 に答える 4

0

正規表現を使用する必要がある場合は、次のように文字列でsearchまたはを使用します。match

var indexOfMatch = '12,74,48,125,1253,1'.search(/125/) // -1 if not present

また

var arrayOfMatches = '12,74,48,125,1253,1'.match(/125/) //returns an array of matches

次に、返されたインデックス(-1でない場合)または返された配列(長さが0より大きい場合)をテストして、125が存在するかどうかを判断できます。

于 2012-05-01T14:19:01.267 に答える
0

私はあなたの問題を解決するために配列indexOfメソッドを提案します。

var list = '12,74,48,125,1253,1';

function isset(num) {
   return list.split(',').indexOf(""+num) === -1 ? false : true;
}
于 2012-05-01T14:19:58.693 に答える
0

より使いやすい数字のリスト 12,74,48,125,1253,1

正規表現を使用しないでください。数値が配列内にあるかどうかを確認するだけです。

var nums = [12,74,48,125,1253,1];
if (nums.indexOf(125) >= 0) {
    alert('true');
}
于 2012-05-01T14:14:42.233 に答える
-1

なぜ正規表現である必要があるのですか?正確な数を探している場合は、indexOf を使用します。

var str = '12,74,48,125,1253,1';
var ix = str.indexOf('125');
if(ix == -1) /* number not found */;
于 2012-05-01T14:17:20.750 に答える