Mi expresión regular actual es /^[A-Za-z0-9_-]\w{5,23}$/
y coincide con todo excepto con el guión. Probé \-
y todavía no hay sopa. ¿Alguien con un poco más de experiencia sabe cómo atrapar el guión?
let errmsg = document.querySelector("#error"); let input_box = document.querySelector("#password"); function checkPassword(value) { var regex = /^[A-Za-z0-9_-]\w{5,23}$/; if (!regex.test(value.target.value)) { console.log(value.target.value); errmsg.style.display = 'block'; input_box.style.borderColor = 'red'; } else { errmsg.style.display = 'none'; input_box.style.borderColor = 'black'; } } input_box.addEventListener('input', checkPassword);