Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/05/2012, 17:52
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: dudas expresion regular

Cita:
Iniciado por saseisa Ver Mensaje
gracias IsaBelM ya intente sin comas con parentesis la expresion pero no ni con eso me da
Podemos saber que querés validar exactamente, corregida la sintáxis, lo lógico sería saber cual es el objetivo a lograr. Debido a la hfalta de ese dato,a partir de aqui adivino

tenes esto

var expresion = /^[A-Z,a-z,ñ,Ñ,&]{1,3}[A-Z,a-z,ñ,Ñ,&,0-9]$/;
vamos a hacerle algunas correciones e ir por partes

Código Javascript:
Ver original
  1. var expresion = /^[a-zA-Z9\u00C0-\u00ff-\&]+$/
esa expresión admite 'a' a la 'z' mayusculas minúsculas ñÑ, acentos diérecis... e '&' en cualquier cantidad
ahora
Código Javascript:
Ver original
  1. var expresion = /^[a-zA-Z9\u00C0-\u00ff-\&]{1,3}$/
es decir, lo anterior pero limitando entre 1 y 3 caracteres, al 4º genera error
y que pasa con
Código Javascript:
Ver original
  1. var expresion = /^[a-zA-Z9\u00C0-\u00ff-\&]{1,3}[a-zA-Z0-9\u00C0-\u00ff-\&]+$/
le agregamos una segubda parte, pero que también admite numeros

entonces
tipeo un caracter --> ERROR, ya que estas cumpliendo con la primera parte, hay entre 1 y 3 caracteres permitidos, pero no tenes ningún caracter que cumpla con la segunda.

Pero esto es teoría, desde el punto de vista práctico, no se me ocurre ninguna validación que se ajuste a ese patrón, y menos si lo asocio con un username (decididamente yo eliminaría tildes, Ñ y demas, más aún si van a ir a unabase de datos), bueno... dije que estaba adivinando

Para finalizar, como estas validando conta el uso del teclado, esto sería más adecuado

Código Javascript:
Ver original
  1. var expresion = /^[a-zA-Z9\u00C0-\u00ff-\&]{1,3}[a-zA-Z0-9\u00C0-\u00ff-\&]+$/
  2. if(cadena != ""){
  3.     if(!expresion.test(cadena)) {
  4.     $(this).after('<span class="error">Error .</span>');
  5.     }else{
  6.     $(this).after('<span class="error">Correcto</span>');
  7.     }
  8. }else{
  9. $(this).after('<span class="error"></span>');
  10. }


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.