![](/img/trans.png)
[英]how to check that user can not input more than one decimal or dot in html web page
[英]Prevent user to type more than one decimal dot in a JS calculator
在我使用 Javascript 的計算器項目中,如果已經有一個小數點,我試圖阻止用戶輸入多個小數點(例如:5.2.3.56 不允許)。
用戶點擊的所有數字、小數點和運算符按鈕都被推送並存儲在一個數組中。
如何檢查是否已經有一個點並使用一組值禁用按鈕?
const numButtons = document.querySelectorAll('.number');
const opButtons = document.querySelectorAll('.operation');
const display = document.querySelector('.display');
const decimal = document.querySelector('.decimal');
let opClicked;
let resultArray = [];
// Event listeners
numButtons.forEach(number => {
number.addEventListener('click', function(e) {
numClicked = e.target.textContent;
if (display.textContent === '0') {
display.textContent = '';
} else if (resultArray[resultArray.length - 1] === opClicked){
display.textContent = '';
}
resultArray.push(numClicked);
display.textContent += numClicked
});
opButtons.forEach(operator => {
operator.addEventListener('click', function(e) {
empty();
opClicked = e.target.textContent;
resultArray.push(opClicked);
operate();
});
decimal.addEventListener('click', function(e) {
let decimalClicked = e.target.textContent;
resultArray.push(decimalClicked);
display.textContent += decimalClicked;
});
decimal.addEventListener('click', function(e) {
var decimalClicked = e.target.textContent;
if(resultArray.includes(decimalClicked) == false){
resultArray.push(decimalClicked);
display.textContent += decimalClicked;
}
});
上面的代碼檢查 resultArray 是否包含小數,如果不包含,則將小數附加到數組中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.