Cara Membenarkan Hanya Input Angka dalam Medan Input Teks HTML
Seseorang boleh memanfaatkan fungsi setInputFilter JavaScript untuk menyekat input pengguna dalam medan input teks untuk aksara angka dan titik perpuluhan ('.'):
function setInputFilter(textbox, inputFilter, errMsg) { ["input", "keydown", "keyup", "mousedown", "mouseup", "select", "contextmenu", "drop", "focusout"].forEach(function (event) { textbox.addEventListener(event, function (e) { if (inputFilter(this.value)) { if (["keydown", "mousedown", "focusout"].indexOf(e.type) >= 0) { this.classList.remove("input-error"); this.setCustomValidity(""); } this.oldValue = this.value; this.oldSelectionStart = this.selectionStart; this.oldSelectionEnd = this.selectionEnd; } else if (this.hasOwnProperty("oldValue")) { this.classList.add("input-error"); this.setCustomValidity(errMsg); this.reportValidity(); this.value = this.oldValue; this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd); } else { this.value = ""; } }); }); }
Untuk menguatkuasakan angka input, gunakan penapis berikut:
setInputFilter(document.getElementById("myTextBox"), function (value) { return /^\d*\.?\d*$/.test(value); });
Penapis ini mengesahkan input terhadap ungkapan biasa ^d*.?d*$, yang menerima rentetan yang mengandungi hanya digit, titik perpuluhan atau gabungan kedua-duanya.
Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Input Teks HTML kepada Nilai Angka Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!