2012-03-01 4 views
0

は、どのように私は次の操作を行うことができた場合:文は、JavaScriptの正規表現で

を私は0から19までの範囲内の文字列から最後の2つの数値を取得する正規表現を必要とする文字列

something#12 

を持っています。 #の後の数字が19より大きい場合は何も返されないことに注意してください。文字と特殊記号を無視する必要があります。

私は次のことを試してみました:

([0-9]{1}$)|([0-1]{1}[0-9]{1}$) 

をしかし、私は19

答えて

1

より大きい値を持っている場合、それは最後の1つまたは2つの数値を返す私はあなたが何かしたいと思う:

/\D[0-1]?\d$/g 

\Dは数字以外の任意の数字と一致し、任意の数字に一致する\dが任意に(0-)に0または1を前に付けることを希望します。

+0

しかし、 'text#100'のようなものを入力すると、最後の2つのゼロが得られます。私は0..19の範囲にないすべてを減らす必要があります。 – RomanKapitonov

+0

ええ、いいですよ。私はそこに任意の非数字の\ Dを追加しました。 –

1

あなただけの数字の前に#を追加

[^0-9]([0-9]{1}$)|([0-1]{1}[0-9]{1}$) 
2

ようsomeething、非番号や#などの前に文字を設定する必要があります。

#([0-9]{1}$)|([0-1]{1}[0-9]{1}$) 

または単純:

#[01]?\d$ 
0
function getThatThing(x) { 
    var match = /#([0-9]|[01][0-9])$/.exec("input#1"); 
    if (match) { 
    return match[1]; 
    } else { 
    return null; 
    } 
}