Attualmente sto utilizzando questa RegEx ^(0[1-9]|1[0-2])/(19|2[0-1])\d{2}$
in .NET per convalidare un campo con Mese e Anno (12/2000
).Conversione RegEx da utilizzare con Javascript
Sto cambiando tutte le convalide RegEx in JavaScript e sto riscontrando un problema con questo a causa di /
nel mezzo che ho problemi di escape.
Quindi, sulla base di altre risposte in modo da ho provato:
RegExp.quote = function (str) {
return (str + '').replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
};
var reDOB = '^(0[1-9]|1[0-2])/(19|2[0-1])\d{2}$'
var re = new RegExp(RegExp.quote(reDOB));
if (!re.test(args.Value)) {
args.IsValid = false;
return;
}
Tuttavia, convalide fallisce anche con dati validi.
Come su un semplice 'var re =/^ (0 [1-9] | 1 [0-2]) \/(19 | 2 [0-1]) \ d {2} $ /; 'che usa l'operatore regex' // '?? – sln
@sln Non è un _regex letterale? – Kroltan
Oh, forse. Non compila 're' lì come un oggetto regex? – sln