Estoy tratando de crear un generador de contraseñas donde pueda marcar opciones (letras/números/caracteres especiales)...
Para cada entrada marcada, quiero generar un patrón de expresión regular diferente que acepte una gama más amplia de caracteres, con al menos espacios en blanco aceptados:
const alpha = alphaInputEl.checked; const numeric = numericInputEl.checked; const special = specialInputEl.checked; return new RegExp(`/[ ${alpha ? "a-zA-Z " : " "} ${numeric ? "0-9" : ""} ${special ? "$&+,:;=?@#|'<>.^*()%!-" : ""} ]/`)Pero no puedo probar contra esa expresión regular. ¿Cómo puedo construir esa expresión regular dinámicamente?
Respondiendo a mi propia pregunta. Eliminé las barras para que funcione.
Referencia del documento: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/RegExp
Versión de trabajo:
return new RegExp(`[${alpha ? "azAZ " : " "}${numeric ? "0-9" : ""}${special ? "$&+,:;=?@#|'<>.^*()%!-" : ""}]`)