/ / Javascript RegEx no funciona - javascript, regex

Javascript RegEx Not Working - javascript, regex

Tengo el siguiente código javascript:

    function checkLegalYear() {
var val = "02/2010";

if (val != "") {
var regEx = new RegExp("^(0[1-9]|1[0-2])/d{4}$", "g");

if (regEx.test(val)) {
//do something
}
else {
//do something
}
}
}

Sin embargo, mi prueba regEx siempre devuelve falso para cualquier valor que pase (02/2010). ¿Hay algo mal en mi código? He probado este código en varios editores de javascript en línea y funciona bien.

Respuestas

38 para la respuesta № 1

Debido a que estás creando tu expresión regular a partir de una cadena, debes duplicar tus barras invertidas:

var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");

Realmente no hay razón para no usar la sintaxis de expresión regular en su lugar:

var regEx = /^(0[1-9]|1[0-2])/d{4}$/g;

editar - También noté que hay un carácter "/" incrustado, que debe citarse si usa la sintaxis de expresiones regulares.