Я пытаюсь реализовать простой калькулятор javascript-html. То, что я хочу сделать, - это ввести только один ». пользователем. Как я могу это контролировать? Вот код, который я пробовал.Позволяет пользователю нажимать только один «.».
Я уже могу найти номер '.' но теперь я запутался и эта функция replaceAll не заменяет «.» с пустой строкой.
String.prototype.replaceAll = function(search, replace)
{
//if replace is null, return original string otherwise it will
//replace search string with 'undefined'.
if(!replace)
return this;
return this.replace(new RegExp('[' + search + ']', 'g'), replace);
};
function calculate(){
var value = document.calculator.text.value;
var valueArray = value.split("");
var arrayLenght = valueArray.length;
var character = ".";
var charCount = 0;
for(i=0;i<arrayLenght;i++){
if (valueArray[i]===character) {
charCount += 1;
}
}
if(charCount>1){
var newValue=value.replaceAll(".","");
alert(newValue);
}
}
@Tartar Я обновил, чтобы добавить функцию isNumber(). – trnelson
Кстати, пользователи не набирают ключи на моем калькуляторе, все номера - это кнопки, поэтому для моего калькулятора это будет бесполезно. – Tartar
@Tartar ahhh ладно, я неправильно понял. Вероятно, вы могли бы немного переработать функцию, чтобы активировать нажатие кнопки, а затем проверить значение соответствующей кнопки. – trnelson