2011-08-09 15 views
4

我目前正在構建一個應用程序,我想要一個只允許輸入數字到文本框和/或以下百分比的javascript或jquery條件,但我不知道如何獲得此...我發現this但是如何我是否允許以下​​百分比我如何只允許一個文本框只有數字和下面的百分比符號?

+0

您想要使用該鏈接中的哪些建議?對於大多數,它只是指定一個覆蓋數字的正則表達式,我認爲%總是會在最後? – mrtsherman

回答

4
$(document).ready(function() { 
    $("#my_input").keypress(function(event) { 
     // Allow only backspace, delete, and percent sign 
     if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 37) { 
      // let it happen, don't do anything 
     } 
     else { 
      // Ensure that it is a number and stop the keypress 
      if (event.keyCode < 48 || event.keyCode > 57) { 
       event.preventDefault(); 
      } 
     } 
    }); 
}); 

演示:http://jsfiddle.net/AlienWebguy/ufqse/

+0

+1一個不錯的解決方案。 –

+0

字符可以複製粘貼在文本字段上!你可以請更新答案...? – Aju

+0

@Aju在這一點上,它將取決於你決定如何處理 - 你會拒絕整個粘貼的內容或濾除無效字符?我不會說你的評論有一個「正確的」答案。絕對有多種方法可行。 – AlienWebguy

0

試試這個。在這裏你可以添加你想要允許或限制的東西。

$("textboxSelector").keypress(function(e) { 
    var key = e.which; 
    if ((key < 48 || key > 57) && !(key == 8 || key == 9 || key == 13 || key == 37 || key == 39 || key == 46)){ 
    return false; 
    } 
}); 
+0

-1不起作用:http://jsfiddle.net/AlienWebguy/axEJJ/ – AlienWebguy

+0

在「keyup」事件觸發時,角色已經顯示出來。我認爲他的意思是使用'keypress' – Maverick

+0

@AlienWebguy - 編輯我的答案,keyyd替換爲keydown,現在可以工作。謝謝。 – ShankarSangoli

2

試試這個,

$(".common").submit(function(){ 
    var inputVal = $('#input').val(); 
    var characterReg = /^[0-9]+%?$/; 
    if (!characterReg.test(inputVal)) { 
     alert('in-correct'); 
    } 
    else 
    { 
     alert('correct'); 
    } 
     return false; 
    }); 
+0

這隻會允許最後的數字和/或% –

0

呵呵,這是我想出了

if(!parseInt(String.fromCharCode(event.keyCode))) 
     event.preventDefault(); 

這應該在kepress使用jquery事件。

相關問題