Cita: ... en teoria esto sirve para saber si es un valor u otro no??
si y no, al menos no de la forma en que lo estas percibiendo. los corchetes significa
clase o rango. tiene el mismo significado que las clases \w \d \s, lo unico que tu defines el conjunto de caracteres. entonces, sucede que dentro de los corchetes ciertos caracteres pierden su significado mientras que otros adquieren un proposito. por ejemplo, el guion (-) y el signo de intercalacion (^) adquieren un significado mientras que el punto (.), barra vertical (|) y otros caracteres dejan de tener un proposito dentro de los corchetes.
Código:
/[com|es]/.test("|"); // true;
// cualquiera de los caracteres dentro del corchete devuelve true ;
digamos que es algo parecido como...
Código:
/(c|o|m|\||e|s)/.test("|");