Tengo un campo de entrada donde puedo ingresar la cantidad en xxx, xx o x, xx o x o xxxxx, xx, etc., es decir, 2 dígitos después de una coma (ya que la coma se usa como separador de punto decimal).
Aquí está mi intento:
<div class="input-group mb-3"> <input type="text" class="form-control num-only-with-comma rounded-0" id="belob" placeholder="Valgfrit beløb" aria-label="Recipient's username" aria-describedby="basic-addon2"> <span class="input-group-text" id="basic-addon2">DKK</span> <div id="belob-feedback" class="invalid-feedback"> Incorrect Amount </div> </div> $(".num-only-with-comma").keypress(function (e) { if ( e.key != "," && e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57) ) { return false; } });Sin embargo, puedo dar varias comas como 15,23,555,5 que no debería ser así.
Paralelamente, necesito hacer la validación de la cantidad por la cual necesito convertir una cadena de cantidad como 149,89 o 1200,70, etc. de nuevo a flotante, es decir, 149,89 o 1200,70 respectivamente.
Aquí está el código de validación que tengo actualmente:
$("#belob").keyup( _.debounce(function () { const elem = $(this); if (parseFloat(elem.val().replace(',','.').replace(' ','')) <= 0.0) { $("#belob-feedback").text( "Indtast venligst et beløb, der er større end nul" ); elem.toggleInvalid(); $("#submit_btn").prop("disabled", true); } else { elem.toggleValid(); $("#submit_btn").prop("disabled", false); } }, 250) );¿Cómo puedo lograr el resultado deseado?