Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/11/2008, 07:36
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Evaluar una Cadena con una Expresion Regular

/[[^a-zA-Z Ññ]+/

Primero que nada, la sintaxis está mal. No me queda claro cómo se interpretará el doble [. Debería dar un error de sintaxis, pero no lo da.
Sin un patrón claro, los resultados son impredecibles.

Deberías quitar el doble [, y dejar uno solo. Haciendo eso, se comporta como se espera.
Pero cuidado: estás buscando caracteres que NO sean una letra, así que si se encuentran (la coincidencia es verdadera) deberías devolver falso.

También se ha colado un espacio entre la Z y la Ñ, fíjate si debe estar o no.

Código javascript:
Ver original
  1. function ValidaExpresionRegular(tipo, obj){
  2.     var Test_Nombres = /[^a-zA-Z Ññ]/;
  3.     var opc = true;
  4.  
  5.     if (tipo == 'nombre') {
  6.         opc = !Test_Nombres.test(obj);
  7.     }
  8.  
  9.     return opc;
  10. }

Intercambiando la posición de [ y de ^, y conservando el +, (lo que te muestra David el Grande), lo que le pedís es que haya "uno o más letras o espacios". Si esa es la intención, la línea 6 arriba debería ser
Código javascript:
Ver original
  1. opc = Test_Nombres.test(obj);
(y por supuesto, en la línea 2 deberías poner un patrón como el que te muestra David (hola )

Saludos.