Если я введу только нули, то текстовое поле останется пустым - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть текстовое поле, в котором пользователь вводит общий вес задания.Теперь, если пользователь вводит 0004, тогда он отображает 4, что нормально, если пользователь вводит 002, то он отображает 2, но если пользователь вводит 0000, то он отображает 0000. Я хочу, чтобы отображалось 0, но язнаю, как это сделать.Если я сделаю textbox.value> = 0, то, если я введу в 0000, он удалит все 0 и текстовое поле останется пустым.Как предполагается, что кодируется так, чтобы он удалял все, кроме одного 0, если пользователь только вводит нули?

Кодировка ниже:

if (textbox.value > 0) {
            var textboxstring = textbox.value.replace(/^0*/, '');

Ответы [ 4 ]

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

Мне кажется, что:

textbox.value = Number(textbox.value);

должен выполнить работу (или любой из множества способов преобразования строки в число).

2 голосов
/ 21 ноября 2011
var textboxstring = parseInt(textbox.value,10)

сделает свое дело.Вам нужен дополнительный аргумент 10 , чтобы строка интерпретировалась как десятичное число, а не восьмеричное

0 голосов
/ 21 ноября 2011

Попробуйте так:

if (textbox.value > 0) {
   var textboxstring = textbox.value.replace(/^0*/, '');
else
   var textboxstring = textbox.value.replace(/^[0]+/g,'0');
0 голосов
/ 21 ноября 2011

Ожидаются ли все ваши значения как целые?

Если это так, рассмотрите возможность использования parseInt () . Если вы можете ожидать ответы с дробной частью, используйте parseFloat () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...