2012-05-01 18 views
1

誰かが、カンマで区切られた数字を持つ文字列または数字のリストに正確に受信した数字を見つけるために、テスト関数で使う正規表現を書くのを助けることができます。カンマ区切りの数字を確認する正規表現のjavascript

例:私は125のような引数と文字列を'12、74,48,125,1253,1 'のように使用するか、数字のリストを使用する方がより簡単な場合は12,74,48,125,1253,1(私は両方を使用できます) どのように書くことができますか正確にこの数を見つけて真を返す正規表現o false。

私はこの1つを使用し、それが見つからない数が3 O 4を持っている場合、私は正規表現で少し練習を持っている 「125」のよう桁

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

このリストには、ただ一つだけ番号を指定できます。 ありがとうございます。

+0

与えられたセットにいくつの数字が入りますか?単に 'split("、 ")'を使って数字が結果に含まれているかどうかチェックするのはなぜですか?あるいは、あなたが数字のリストを与えることができれば、それが配列に含まれているかどうかを確認するだけです。 – vcsjones

+0

文字列の表と裏に、を追加してください。ここでは、 –

答えて

0

それがより簡単に正規表現を使用しないでください番号12,74,48,125,1253,1

のリストを使用する場合。番号が配列内にあるかどうかを確認するだけです。

var nums = [12,74,48,125,1253,1]; 
if (nums.indexOf(125) >= 0) { 
    alert('true'); 
} 
-1

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

var str = '12,74,48,125,1253,1'; 
var ix = str.indexOf('125'); 
if(ix == -1) /* number not found */; 
+1

を検索しています。これはかなりの誤認を示します。 –

+0

@AndrewBarrett:文字列の先頭と末尾を除いて、カンマで前後します。 –

0

あなたは正規表現を使用する必要がある場合は、単に

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

または

のように、文字列に searchまたは matchを使用

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

次に、返されたインデックス(-1でない場合)または125が存在するかどうかを判断するために返された配列(length> 0の場合)を返します。

0

私はarray indexOfあなたの問題を解決する方法を提案します。

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

function isset(num) { 
    return list.split(',').indexOf(""+num) === -1 ? false : true; 
} 
+1

なぜあなたは '...!== -1'を返さないのですか? –

+0

ya u r正しいこともできます。私はそれに気付かなかった。 – Tamil

関連する問題