Tengo una validación de formulario básica en este momento en Javascript en este momento. ¿Cómo lo formateo para que todo lo que se escriba en el campo de entrada DEBE ser:
JavaScript:
function stockValidate() { let x = document.getElementById("inputText3").value; let text; if FORMATTING HERE { text = "Input not valid"; document.getElementById("inputText3").value = ''; } else { text = "Input OK"; } document.getElementById("demo").innerHTML = text; }HTML:
<div class="col-auto"> <input type="text" id="inputText3" class="form-control" aria-describedby="TextHelpInline" placeholder="eg AAPL"/> </div> <div class="col-auto"> <button id="inputTextBtn3" class="btn set-btn" onclick="stockValidate()">Add</button> </div> <p id="demo"></p>Intentaría esa forma de resolver el problema:
Agregar validación solo para letras mayúsculas y números
Dado que incluyó su código html, incluso llamaría a la forma en que usa el atributo de patrón la forma simple de hacer esta validación.
Según los consejos de @Graficode, aquí está el código final:
function stockValidate() { var specialChars = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,<>\/?~]/; let x = document.getElementById("inputText3").value; let text; if (x.toUpperCase() != x) { document.getElementById('demo').style.display = "block"; text = "Stock symbol must be uppercase"; document.getElementById("inputText3").value = ''; } else if (x === '') { document.getElementById('demo').style.display = "block"; text = "No blanks" } else if (x.includes(' ')) { text = "No spaces"; document.getElementById('demo').style.display = "block"; document.getElementById("inputText3").value = ''; } else if (x.length > 5) { document.getElementById('demo').style.display = "block"; text = "No more than 5 characters"; document.getElementById("inputText3").value = ''; } else if (/\d/.test(x)) { document.getElementById('demo').style.display = "block"; text = "No numbers allowed"; document.getElementById("inputText3").value = ''; } else if (specialChars.test(x)) { document.getElementById('demo').style.display = "block"; text = "No special characters allowed"; document.getElementById("inputText3").value = ''; } else { text = "Input OK"; document.getElementById('demo').style.display = "none"; } document.getElementById("demo").innerHTML = text; }