Hola, estaba haciendo el proyecto de la calculadora, y me encontré con que el text 9 no lo pasa, y no encuentro donde está el fallo.
Me puse a mirar en el fichero de los test para ver en que consiste el test 9. Para dicho test tiene que realizar dos expresiones simples, pero solo pasa la primera.
Aquí está el código en javascript:
//funcion para limpiar el display
const clearDisplay = () => {
$(document).ready(function(){
$("#display").html("0");
});
}
let op = false;
$(document).ready(function(){
// jQuery para introducir numeros en el display, tambien está implementado el que no haya numeros que empiecen por multiples zeros
$(".btn-primary").click(function(){
if($("#display").html() === "0" | op){
$("#display").html($("#" + this.id).html());
op = false;
} else {
$("#display").append($("#" + this.id).html());
}
});
//Bloque p de codigo para las operaciones, implementado para que solo se pueda poner un simbolo despues de un numero
$(".btn-secondary").click(function(){
let x = $("#display").html();
let pattern = /.*\d$/;
if(pattern.test(x)){
$("#display").append($("#" + this.id).html());
op = false;
}
});
//Bloque de codigo para el resultado
$("#equals").click(function(){
let x = $("#display").html();
$("#display").html(eval(x));
op = true;
});
});
Y el Html:
<div class="calculator container-md py-1">
<!--<div class="row px-1">
<p class="col-12 text-end result">01234567890</p>
</div>-->
<div class="row px-1">
<p id="display" class="col-12 text-end current">0</p>
</div>
<div class="row px-1">
<button id="clear" class="col-6 btn btn-danger" onclick="clearDisplay()">AC</button>
<button id="divide" class="col-3 btn btn-secondary ">/</button>
<button id="multiply" class="col-3 btn btn-secondary">*</button>
</div>
<div class="row px-1">
<button id="seven" class="col-3 btn btn-primary">7</button>
<button id="eight" class="col-3 btn btn-primary" >8</button>
<button id="nine" class="col-3 btn btn-primary">9</button>
<button id="subtract" class="col-3 btn btn-secondary">-</button>
</div>
<div class="row px-1">
<button id="four" class="col-3 btn btn-primary">4</button>
<button id="five" class="col-3 btn btn-primary" >5</button>
<button id="six" class="col-3 btn btn-primary">6</button>
<button id="add" class="col-3 btn btn-secondary">+</button>
</div>
<div class="row px-1">
<div class="col-9">
<div class="row">
<button id="one" class="col-4 btn btn-primary">1</button>
<button id="two" class="col-4 btn btn-primary" >2</button>
<button id="three" class="col-4 btn btn-primary">3</button>
</div>
<div class="row">
<button id="zero" class="col-8 btn btn-primary">0</button>
<button id="decimal" class="col-4 btn btn-primary">.</button>
</div>
</div>
<button id="equals" class="col-3 btn btn-success">=</button>
</div>
</div>
Y el projecto: https://codepen.io/rafaelmartinezhuertas/full/XWEGLNq
Nota: estoy usando Bootstrap y jQuery.