Найдите, больше ли число - PullRequest
0 голосов
/ 03 ноября 2011

Я хочу проверить, больше ли параметр запроса, чем 12, или нет JavaScript.

Он всегда выдает предупреждение "меньше", даже когда я изменяю значение q на 12.

Текущий URL-адрес: www.test.com?id=2

Как это можно сделать в JavaScript?

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

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

var q = 14;
if (q > 10)
    alert('greater');
else
    alert('Lesser');

Рабочая демоверсия

Как сказал Дерек, если q === 10, то он предупредит "Меньше", потому что10 не более 10.

РЕДАКТИРОВАТЬ: Здесь у вас есть 2 варианта.Либо используйте что-то вроде PHP, чтобы сделать q равным числу, подобному следующему:

q = <?php echo $_GET['id']; ?>

Обратите внимание, что использование этого откроет ваш сайт для всех видов XSS, поэтому, если вы решите пойти по этому пути, изучитеНемного о безопасности, и не спешите загружать его на действующий веб-сайт.

Или, если вы хотите сделать это с использованием только JavaScript, сделайте это так:

q = location.href.substring(location.href.indexOf('id=')+3); //3 is the length of id=
q = parseInt(q, 10); //With substring, you get a string, so you have to parse it

10 является параметром radix, избегая получения странных чисел для входов, таких как 010 (будет 8 без параметра).

1 голос
/ 03 ноября 2011

Это выглядит хорошо для меня. Возможно, вы захотите включить точки с запятой после предупреждений, чтобы быть в безопасности. Кроме того, ваш тест не учитывает значение «равно», поэтому 10 будет сообщать о «меньшем», когда фактически оно равно.

...