2010-03-10 55 views
0

基本上,我不希望用戶輸入'0'(零)作爲代表具有整數類型的數據的文本框中的第一個字符?如何忽略在jQuery文本框中輸入的第一個字符爲零

我想綁定一個事件處理程序來處理這個與jQuery。

有沒有經驗?

感謝,

+0

你希望阻止鍵盤輸入過程中的操作,還是一旦顯示文本(驗證過程中)就「修復」文本? – 2010-03-10 13:29:06

回答

1

的基數參數你可以很簡單地將其裝回KEYUP這樣的:

$('#test').keyup(function() { 
    if ($(this).val() === '0') 
    { 
     $(this).val(''); 
    }  
}); 
+0

不會'if($(this).val()=='0')$(this).val('');'更容易? :) – 2010-03-10 13:52:53

+0

是的,這使得它更容易。遇到了keyup事件的爭論。我編輯了答案,謝謝。 – ryanulit 2010-03-10 15:30:35

0

你可以使用類似的財產以後$('textbox').val().substr(0,1) != 0; 雖然它會更好,如果我們知道你喜歡什麼完成

2

您可以用整型值替換的值,如果你想:

$(".IntegerInput").val(function(i, v) { 
    return parseInt(v, 10); 
}); 

這將解析int和用它替代的價值,刪除任何前導0。

Romuald做了神捕,爲您的特定情況下,你需要在parseInt()

+1

將無法​​按預期工作。例如'parseInt('0100')'返回64. 只需使用'parseInt(v,10)'並且它可以正常工作 – 2010-03-10 13:18:08

+0

@Romuald - 好的捕獲,沒想到認爲它是默認導致0到不同的基地,更新 – 2010-03-10 13:30:16

相關問題