Tengo un pequeño problema. Cuando ingreso una nueva transferencia de 269 euros con el número de cuenta bancaria BE072750044-35066. Tengo que introducir un código de confirmación. El código es 350269 .
Las cifras 350 son las últimas 5 cifras del número de cuenta bancaria -> BE072750044- 350 66. Y el 269 representa el monto de la nueva transferencia.
Otro ejemplo, si la nueva transferencia fuera de 350 euros. Tendremos 350350 .
Ahora mi problema, si tengo una cuenta bancaria con una letra al final. FR5940802053780006178110 K 61.
El problema es que recupero 10K269 , pero el usuario debe ingresar solo números en las digipas. ¿Cómo evitar este problema para el usuario, por favor?
getTokenTwoAdd(nt) { var partOne, partTwo, absoluteAmount; partOne = (nt.iban.substr(nt.iban.length - 5)).substring(0, 3); absoluteAmount = Math.abs(nt.amount); absoluteAmount = parseInt(absoluteAmount); partTwo = ((absoluteAmount < 100) ? this.helpers.addLeadingZeroesLeft(absoluteAmount, 3) : absoluteAmount) + ""; partTwo = partTwo.substring(0, 3); console.log("Iban number, slice => " + partOne); console.log("Iban number => " + nt.iban); console.log("Amount => " + absoluteAmount); return partOne + partTwo; } La variable partOne representa el número de banco de la cuenta con el segmento
La variable nt.iban es el número de banco de la cuenta.
La variable absoluteAmount es el monto de la nueva transferencia.
Para deshacerse de los caracteres que no son dígitos, puede usar
partOne = nt.iban.replace(/\D+/g, '').substr(-5, 3); donde \D+ coincide con uno o más caracteres que no son dígitos.