Quiero agregar automáticamente una barra diagonal en la entrada del campo de fecha de vencimiento de la tarjeta de crédito. Quiero agregar una barra oblicua después del carácter de tipo 2 y eliminar una barra oblicua después de eliminar el tercer dígito. Ejemplo, 23/ (añadir automáticamente una barra inclinada después de escribir el número 3) 23/4 (eliminar automáticamente una barra inclinada después de eliminar el número 4)
addSlashes(elementID) { let ele = document.getElementById(elementID) const value = ele.value let finalVal = null if (value.length === 2) { finalVal = `${value}/` } document.getElementById(elementID).value = finalVal },Tan pronto como se agrega / después de 2 caracteres, la longitud total se convierte en 3. Por lo tanto, no está muy claro cómo debe ocurrir la operación.
Sin embargo, si esto es para que ocurran algunos cambios automáticos cuando se realiza la escritura progresiva, aquí está el código para agregar un / automáticamente cuando el usuario ha escrito 2 caracteres y eliminarlo cuando se agrega el siguiente carácter después de /
Edit OP necesita eliminar el / cuando se elimina el tercer dígito.
function modifyInput(ele) { if (ele.value.length === 2) ele.value = ele.value + '/' else if (ele.value.length === 3 && ele.value.charAt(2) === '/') ele.value = ele.value.replace('/', ''); } <input type="text" onkeyup="modifyInput(this)">