Possible Duplicate:
How to allow only numeric (0-9) in HTML inputbox using jQuery?只允許在文本框中輸入數字
如何只允許在此文本框中寫入數字?
<input type="text" class="textfield" value="" id="extra7" name="extra7">
Possible Duplicate:
How to allow only numeric (0-9) in HTML inputbox using jQuery?只允許在文本框中輸入數字
如何只允許在此文本框中寫入數字?
<input type="text" class="textfield" value="" id="extra7" name="extra7">
你可以認購onkeypress事件事件:
<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />
然後定義isNumber
功能:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
你可以看到它在action here。
我不知道如何解釋你的if語句。如果它大於57,它總是大於31.我認爲你可以消除括號。 – pimvdb
謝謝它正在工作。什麼是隻有字母的字符代碼範圍?我的意思是我想這樣做只接受字母也在不同的功能 – EnexoOnoma
@Giorkouros,這裏是ASCII表:http://www.asciitable.com/根據你的意思是字母結果將是不同的。例如,如果你想要A-Z,那麼範圍是[65,90],而a-z是[97,122]。 –
有了HTML5,你可以做
<input type="number">
您還可以使用正則表達式來限制輸入文本。
<input type="text" pattern="^[0-9]*$" />
這不會阻止輸入非數字字符。 – MyNameIsKo
@MyNameIsKo它應該,也許你正在使用不支持這種HTML5功能的客戶端? – powtac
它不適用於Chrome或Firefox。您可能指的是非數字字符的提交驗證,它可以在HTML5中正常工作。然而,最初的問題是關於完全防止非數字輸入。我非常確定JavaScript仍然是唯一的方法。 – MyNameIsKo
你也可以使用一些HTML5屬性,一些瀏覽器可能已經利用它們(type="number" min="0"
)。不管你做什麼,記得在服務器端重新檢查你的輸入:你永遠不能假設客戶端驗證已經執行。
你作爲一個數字你認爲什麼?這些數字是'12.3','-4','V','6'嗎? –
不知道如果一個jQuery的問題是重複的。 Javascript!= jQuery – Evert
**這不是所引用問題的完全重複**。這個目標是一個javascript的答案,而另一個目標是一個jQuery的答案。不同的受衆,不同的解決方案。 –