Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/02/2014, 20:09
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Verificar nombre de usuario

Es que estás aplicando mal las expresiones regulares, porque estás buscando que la cadena empiece sí o sí por "Mod-", "mod-", "ADM" o "adm" (por cierto, debiste colocar los valores opciones entre paréntesis, no entre corchetes) y luego debe continuar un espacio seguido de cualquier caracter que debe aparecer cero o más veces y todo ese subconjunto debe aparecer una o más veces.

Ahora bien, supongo que lo que estás tratando de evitar es que el texto ingresado no sea de cualquiera de estas formas:

Cita:
Mod-ejemplo
mod-ejemplo
ADMejemplo
admejemplo
ejem plo (con el espacio en medio)
Si fuera así, puedes trabajarlo con dos grupos de expresiones regulares, para que no te compliques.

Código Javascript:
Ver original
  1. var expresion1 = /^(Mod-|mod-|Adm|adm)(.*)$/,
  2.     expresion2 = /(.+)\s(.+)?/;
  3.  
  4. if (expresion1.test($("#username").val()) || expresion2.test($("#username").val())){
  5.     alert("MAL");
  6. }
  7. else{
  8.     //Continuas con las instrucciones
  9. }

En la primera expresión, buscas cualquiera de los 4 valores indicados y seguido de cualquier caracterer, es decir, no se permitirán textos como los que mostré más arriba, mientras que la segunda expresión, buscas cualquier caracter, de una a más ocurrencias (apariciones), seguido de un espacio y cualquier otro caracter (incluidos los propios espacios, para que no se puedan poner dos o más espacios y saltarse la validación), de uno a más, pero esta segunda parte es opcional, es decir, buscará "ejem plo" como "ejem ". Buscas ambas expresiones en el texto, de darse la coincidencia en cualquiera de ambas, se muestra la alerta de advertencia, caso contrario, sigues con las instrucciones de tu aplicación.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand