Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/02/2014, 04:35
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Verificar nombre de usuario

Cita:
Iniciado por Alexis88 Ver Mensaje
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:



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
Gracias :) ya voy entiendo un poco más de expresiones regulares..

Pero el problema es que si en el campo username hago 1 separación no salta el error. pero en cambio si pongo Hola lucas si salta...

Lo que quiero decir es que si pongo: 'espacio'Hola. lo valida y no salta el error.