2016-08-31 23 views
1

099のように先行ゼロは許可しないでください。指定できる値は、3599123100のようになります。0〜100の正規表現ですか?

これは、私が試したどのようなものです:

$('#createCoupon_discountAmount').bind('input propertychange', function() { 
    $(this).val($(this).val().replace(/(\d\d?|100)\Z/g, '')); 
}); 
+0

@RoryMcCrossanです:そのは動作していない...それは先行ゼロを受け入れます。 – Kiz

+0

^[1-9] [0-9]?$ |^100 $ これはあなたの問題のための有効な正規表現になります。最初の番号に許可したいものを指定してください。 –

+0

正規表現は実際にこの作業に最適なツールではないことに注意してください。 – JJJ

答えて

0

あなたが先頭にゼロを削除したい場合は、一個の以上のゼロから始まる^0+すなわち一致文字列を使用して最初の位置からそれらを削除してみてください。

$(this).val().replace(/^0+/g, '') 
0

わずか1で値を乗算し、それは私がこのために使用する正規表現は次の通りであるが、それ最適なものならば、私はよく分からないあなたに最適な数

1

を与える:

^([0-9]|([1-9][0-9])|100)$

私たちは三つのグループを作成し、私たちは常に末尾に文字列の先頭から一致します。キャプチャした最初のグループは[0-9]で、最初の10個の数字(0-9)を取得します。 2番目のグループは、10から99までの数字をすべて取得するために2回これらの数字を取得します。最後に100をマッチさせます。

1

このバージョンは短く、おそらくより効率的な/^([1-9]?\d|100)$/