2010-08-15 43 views
1

第一個數字我有一個輸入框:禁止用戶在輸入框的jQuery

<input class="longboxsmall" type="text" name="number" value=""/> 

而且我希望禁止數字0是在箱子我怎麼可以這樣輸入的第一個號碼?? ?我可以使用Jquery嗎?

回答

3

$(".longboxsmall").keyup(function(){ 
 
    var value = $(this).val(); 
 
    value = value.replace(/^(0*)/,""); 
 
    $(this).val(value); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="longboxsmall" type="text" name="number" value=""/>

JS

$(".longboxsmall").keyup(function(){ 
    var value = $(this).val(); 
    value = value.replace(/^(0*)/,""); 
    $(this).val(value); 
}); 

HTML

<input class="longboxsmall" type="text" name="number" value=""/> 

嘗試jsfiddle


這是很好的攔截其他活動,如模糊,變化,事件的內容等 見jquery。 Tks @Simen Echholt。


說明:

$(".longboxsmall").keyup

jQuery的採取與longboxsmall類的每一個元素,並準備呼籲onkeyup事件的功能。

var value = $(this).val(); 
value = value.replace(/^(0*)/,""); 
$(this).val(value); 

該函數使用一個正則表達式來替換的值在開始每0^)。

+0

這可以通過用鼠標粘貼文本被忽略。還應該綁定到'mousedown/up'和/或'change' – 2010-08-15 13:44:55

+0

這隻允許用戶鍵入零,並阻止他們鍵入任何更多的數字。我想阻止他們輸入0作爲數字串中的第一個數字 – user342391 2010-08-15 13:46:56

+0

@ user342391對不起,但你錯了。它允許輸入任何內容。只在第一個字符中阻止0。試試http://jsfiddle.net/s5B4B/。 – Topera 2010-08-15 13:54:28

0

當然。使用輸入過濾器插件之一(如this)與適當的正則表達式。

0

爲了不看到輸入0,然後刪除它,你可以使用按鍵:

$('.longboxsmall').on('keypress', function(e) { if (!$(this).val() && e.which == 48) return false; });