Cita:
Iniciado por saseisa 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 originalvar 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 originalvar 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 originalvar 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 originalvar expresion = /^[a-zA-Z9\u00C0-\u00ff-\&]{1,3}[a-zA-Z0-9\u00C0-\u00ff-\&]+$/
if(cadena != ""){
if(!expresion.test(cadena)) {
$(this).after('<span class="error">Error .</span>');
}else{
$(this).after('<span class="error">Correcto</span>');
}
}else{
$(this).after('<span class="error"></span>');
}
Saludos