2011-11-21 25 views
0

我有一個文本框,用戶輸入一個任務的總權重。現在,如果用戶輸入0004,那麼它將顯示4這是很好,如果用戶輸入002,然後顯示2,但如果用戶輸入0000,則它將顯示0000.我希望它顯示0,但我不知道如何去做。如果我做textbox.value> = 0,那麼如果我輸入0000,那麼它將刪除所有0,文本框留空。它是如何編碼的,以便在用戶輸入零時除去一個0?如果我只輸入零,那麼文本框是空的

編碼低於:

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

回答

2
var textboxstring = parseInt(textbox.value,10) 

會做的伎倆。你需要額外的參數,使字符串被解釋爲十進制數,而不是八進制

+0

@mu ... ..糾正什麼 –

+0

是基數的說法? – BruceyBandit

+0

radix參數告訴parseInt字符串被解釋爲什麼基數。base 10,hexadecimal等等。10在10中是10,但在十六進制中是「A」,八進制是「12」 –

2

在我看來,:

textbox.value = Number(textbox.value); 

應該做的工作(或任何的許多方法來轉換字符串到數字)。

+0

我改成了Number(textbox.value)甚至比我所做的替換代碼更好,但它並不幫助將00000轉換爲0. – BruceyBandit

+0

我將parapura評爲最佳答案,因爲他幫助我完成了評論,但您的回答非常有幫助。謝謝你:) – BruceyBandit

+0

使用:'',模糊時輸入「00000」變爲「0」。無論如何,希望有所幫助。 – RobG

0

是否所有的值都是整數?

如果是這樣,請考慮使用parseInt()。如果您可能需要小數部分的答案,請改爲使用parseFloat()

0

試試這樣說:

if (textbox.value > 0) { 
    var textboxstring = textbox.value.replace(/^0*/, ''); 
else 
    var textboxstring = textbox.value.replace(/^[0]+/g,'0'); 
相關問題