Estoy tratando de hacer algo que pensé que sería muy fácil de hacer, que es restringir una cadena a ciertos caracteres al hacer coincidir una expresión regular..match() con una expresión regular devuelve nulo
var value = 'FailureStr1ng';
var type = 'ALPHA';
var regex = null;
switch(type) {
case 'ALPHA':
regex = '^[a-zA-Z]+$';
break;
case 'NUMERIC':
regex = '^[0-9]+$';
break;
case 'ALPHANUMERIC':
regex = '^[a-zA-Z0-9]+$';
break;
}
return value.match(regex);
Por alguna razón, cuando se utiliza el partido siempre devuelve null
. ¿Hay alguna manera de arreglar esto o un método mejor para hacer esto?
Nota: El código aquí es un fragmento de código mucho más grande y, a su vez, el valor y la variable de tipo suelen definirse por otro método.
Devuelve nulo porque tiene un '1' en la cadena por lo que no coincide. Cambiarlo a una cadena válida devuelve esa cadena. http://jsfiddle.net/GLVAj/ –