例如,我們有一個用於博客標籤的文本框。我想要的是我想限制數量的標籤是有限的。 例如,「虛擬主機,PHP,Windows8」。 當用戶嘗試輸入另一個文本框時,他將以逗號開頭,該文本框不會讓他編寫它。如何限制文本框中少於3個逗號?
回答
在您的keypress
處理程序中,捕獲event
對象並執行;
if (event.which == 44 && $(this).val().split(",").length > 2) {
event.preventDefault();
}
看到它的行動在這裏; http://jsfiddle.net/5L7mU/
$(document).ready(function(){
$('#textbox').keypress(function(e){
var text = $(this).val();
if(text.split(',').length>3){
return false;
}else if(e.which==44&&text.split(',').length>2){
return false
}
});
});
小提琴:
我們可以分裂這一問題成3點較小的問題。
首先,我們需要一種方法來阻止用戶將東西寫入文本框。當您在keypress
上掛鉤回叫時,傳遞的事件有一個名爲preventDefault
的方法,該方法應該可以完成這項工作。因此,要阻止所有輸入:
$("input").keypress(function(event) {
event.preventDefault();
});
現在,檢查有多少昏迷目前已經有在文本框中,我們可以使用正則表達式。如果沒有匹配,match
函數將返回null
而不是空數組,因此我們需要檢查該數組。
$("input").keypress(function(event) {
var matches = $(this).val().match(/,/g);
var count = 0;
if (matches)
count = matches.length;
console.log(count);
});
最後,我們需要能夠檢查用戶是否輸入了昏迷狀態。 event
對象將擁有一個名爲which
的屬性,其中包含輸入字符的關鍵代碼。隨着探索的一點點,你可以發現,對於昏迷的鍵碼是44.
$("input").keypress(function(event) {
if (event.which == 44)
event.preventDefault();
});
因此,如果我們把它放在一起:
$("input").keypress(function(event) {
var matches = $(this).val().match(/,/g);
var count = 0;
if (matches)
count = matches.length;
if (count >= 2 && event.which == 44)
event.preventDefault();
});
好解決方案一步一步的解釋。現在我知道這是如何運作的。謝謝。 – SNaRe
@SNaRe沒問題。不要忘記使用答案旁邊的箭頭感謝人們的貢獻,並選中複選標記以標記找到的答案,幫助您最有效地解決問題。 –
- 1. 在一個文本框限制連續逗號的數量
- 2. 如何限制文本框
- 3. 如何搜索每一個字用逗號在文本框中
- 4. 如何在wpf中限制文本框中的特殊符號%?
- 5. 在文本框中顯示逗號VB.net
- 6. 文本框中的自動逗號
- 7. 的Javascript限制逗號
- 8. 多個逗號限制使用javascript
- 9. 如何在文本中插入逗號?
- 10. 缺少逗號
- 11. 逗號分隔文件是如何工作的? ...如果文本中有逗號
- 12. 如何自動限制文本框
- 13. 如何在文本輸入框中添加文本限制
- 14. 限制文字文本框
- 15. 轉化逗號數量並限制到3位小數
- 16. jsp中的文本框,僅允許文本,數字和逗號
- 17. 如何在MFC中限制文本框中的複製粘貼?
- 18. 計算輸入框中逗號分隔多少個字符串
- 19. 每個逗號後限制六個字符中的Android
- 20. 如何創建文本框二維數組逗號分隔值
- 21. 如何使用javascript限制中文字符在文本框中
- 22. 如何根據文本框中的複選框添加逗號分隔值?
- 23. 如何使用逗號作爲兩個列分隔符和文本限定符
- 24. 如何提取excel中多個逗號之間的文本
- 25. 在文本框中限制文字
- 26. 如何向逗號中添加逗號?
- 27. 如何在逗號中輸入逗號?
- 28. SQL錯誤:ORA-00917:缺少逗號00917. 00000 - 「缺少逗號」
- 29. 文本框字符限制
- 30. 限制的文本框
如果你要我爲雅寫代碼我不會,如果你想得到的概念,我會幫你,嘗試趕上keyup事件和過濾逗號,當它達到極限,防止任何其他逗號插入 – Qchmqs