Estoy tratando de obtener el valor de una entrada, reemplazar ciertos caracteres y almacenar el nuevo valor en una variable. Sin embargo, con mi código actual, obtengo un valor "indefinido" al final de todo.
Este es mi código ahora mismo. Es un poco complicado porque he estado probando diferentes métodos desde anoche sin éxito.
var diceType = document.getElementById('set'); const newdiceType = (diceType) => { return diceType.toString().replace(/{}a!/g, ""); }; diceType = newdiceType; alert(diceType.value);Antes de eso, tenía algo como esto:
var diceType = document.getElementById('set'); var newdiceType = ""; newdiceType = parseFloat(diceType.toString().replace(/{}a!/g, '')); alert(newdiceType.value);Lo que realmente quiero hacer es lo siguiente en javascript (cualquier ayuda con esto sería muy apreciada):
Algo como esto es lo que necesitas:
const replaceDiceType = (diceType) => { const rem = diceType.toString().replaceAll(/\{.*?\}|\s|!/g,""); return rem } const handleInputValue = () => { const diceTypeInput = document.getElementById('set').value; const newDiceType = replaceDiceType(diceTypeInput); alert(newDiceType); } <input type="text" id="set" placeholder="Input here"/> <button type="button" onClick="handleInputValue()">Enter Value</button> Primero, para obtener el valor de una entrada llamándola mediante un selector, debe usar su propiedad .value Lea aquí .
Luego, la expresión regular que estoy usando buscará en toda la cadena los casos en los que { } ! existe y que también hay algo dentro de los paréntesis..
Por último he añadido un botón para que no se ejecute al inicio, y podrías usar un onChange de la entrada para mostrar los cambios cada vez que se detecte un cambio en la entrada Leer aquí .
probar esto :
function replaceDiceType(diceType) { return diceType.replace(/[^a-zA-Z0-9+]/g, ""); } var diceType = document.getElementById('set').value; alert(replaceDiceType(diceType));^ niega lo que siguea-zA-Z coincide con letras mayúsculas y minúsculas\d coincide con dígitos\+ coincidencias +