2010-09-14 14 views
0

Я хочу иметь диапазон от 0 до 65536, каково было бы регулярное выражение для этого?Регулярное выражение для проверки диапазона числовых значений

+2

Использование регулярного выражения для проверки того, попадает ли число в диапазон, похоже на использование молотка, чтобы открыть оранжевый цвет. –

ответ

9

Не используйте регулярное выражение.

if(i >= 0 && i <= 65536) 
+0

ОК, извините, я забыл упомянуть, что я хочу его в jQuery – maztt

+5

@mazhar: JQuery не меняет ни того факта, что регулярные выражения не подходят для этого, и не меняют его. –

+0

'((0 ... 65536) === i)' – Nakilon

1

Регулярное выражение действительно не подходит для такого рода проверки. Gareth's answer обеспечивает гораздо более разумное решение.

Если по какой-то причине, Вы абсолютно должны использовать регулярное выражение, то он, вероятно, выглядеть следующим образом:

^(?:[0-5]?[0-9]{1,4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-6])$ 
+1

Вау, очень красиво! – Gareth

+1

Нет, подождите, другая вещь. Ужасно;) Я полагаю, что нужно было видеть, чтобы сравнить разницу, хотя – Gareth

1

Смотри также this question, который спрашивает почти то же самое, и получил довольно почти такой же ответ. (т. е. не используйте для этого регулярное выражение!)

Смежные вопросы