2016-04-13 26 views
0

Metin kutum var. Bu metin kutusu sadece 5 ile 555 arasındaki değerleri kabul etmelidir. Ancak bunu başaramıyorum.Regex - 5 ile 555 arasındaki değerleri kabul edin

aşağıda denedim:

/^[0-9]{5, 500}$/ 

Lütfen bu durumda bana yardım et.

+0

Neden regex ?! Bir çift aritmetik karşılaştırma daha iyi olurdu. – Biffen

+0

Hangi dili kullanıyorsunuz? – TechTreeDev

+3

[Learning Regular Expressions] (http://stackoverflow.com/questions/4736/learning-regular-expressions) – Biffen

cevap

3

Size gerekenler: Bu 1-rakamlı, 2-basamaklı ve 3 basamaklı sayılarla uğraşmak 3 farklı ifadeleri var | kullanır

^([5-9]|\d\d|[1-4]\d\d|5[0-4]\d|55[0-5])$ 

. Nasıl çalışır

Live Demo on Regex101

: (önerilmez gerçi)

^   # String starts with ... 
(
    [5-9]  # 1-Digit - Any digit 5 or over (5 to 9) 
    |   # OR 
    \d\d  # 2-Digit - Any 2 digits (since any 2-digit number will be within your range) 
    |   # OR 
    [1-4]\d\d # 3-Digit (below 500) - Any digit 1 to 5 (100 to 500), followed by any 2 digits 
    |   # OR 
    5[0-4]\d # 3-Digit (above 500, below 550) - 5, followed by any digit 0 to 4 (500 to 540), 
      # followed by any digit 
    |   # OR 
    55[0-5] # 3-Digits (550 or above) - 55, followed by any digit 0 to 5 (550 to 555) 
) 
$   # ... String ends with 
+2

'599' kabul edilecektir ..) – rock321987

+0

@ rock321987 Artık değil, teşekkürler! ';)' – Druzion

+0

Hepinize teşekkürler ..! –

İlgili konular