[英]Html5 input type number not prevent plus, minus symbols
我正在使用輸入類型數字,並且它是防止字符,但是無法防止加號,減號或字符。 但是我要求防止所有符號。
<input type="number">
我已經處理了它並創建了我的自定義正則表達式,並且可以正常工作,但是我想知道為什么輸入類型編號可以正常工作,以及如何解決該問題。
您可以使用簡單的最低數量限制來做到這一點。 像這樣:
<input min="0" type="number" step="1">
現在添加+
或-
號使字段值無效,而step=1
則用於只需要無符號整數的情況。 如果不需要,只需將其刪除。
編輯
如果您不想在字段中顯示+
和-
號,並且不接受該輸入,則需要使用一些js。 這是我認為最簡單的純js解決方案:
您的html代碼:
<input min="0: type="number" step="1" onkeypress="removeSigns()" id="my-input">
現在,您需要將此小腳本添加到頁面中:
function removeSigns() {
var input = document.getElementById('my-input');
input.value = parseInt(input.value.toString().replace('+', '').replace('-', ''))
該腳本獲取具有my-element
id my-element
,然后覆蓋其值。
新值是舊值的int版本,將+
和-
替換為空字符串(實際上將其從字符串中刪除)。 該解決方案是好,當你只有一個輸入,如果你有更多數量的輸入,你應該改變removeStrin
一個版本,讓輸入對象,從this
在onkeypress
。 但是由於解決方案的簡單性,我不添加該版本。 }
您可以使用jquery
做到這一點
$('input').keypress(function (e) {
var txt = String.fromCharCode(e.which);
if (!txt.match(/[0-9]/)) {
return false;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.