> Esta es la función que chequea valores introducidos a través de un > campo input HTML con la que quiero *DESCARTAR* todo lo que *NO SEAN LETRAS, > vocales tildadas, las eñes, el espacio y el guión - .* El resto, debería > retornar false. > > function Chequear_campo_ALFABETICO(campo_ALFABETICO){ > var patron_ALFABETICO = /[^a-zA-ZáéíóúñÁÉÍÓÚÑ\ \-]*/; > return(patron_ALFABETICO.test(campo_ALFABETICO)); > }
*Me parece* que el error está en poner el * en lugar de +. El asterisco significa que el carácter que lo precede puede aparecer cero, una, o más veces... Si ponés un número, las letra a (por decir una cualquiera de tu patrón) está apareciendo 0 vez... por lo que la expresión regular retorna true. Si reemplazás el * por +, para obligar a que tu patrón esté "1 o más veces" estarías logrando lo que querés... Un mínimo detalle para simplificar un poco la expresión regular: si usás "i" luego de la barra de cierre, la expresión regular no diferencia entre minúsculas y mayúsculas y la podés escribir así: var patron_ALFABETICO = /[^a-záéíóúñ\ \-]+/i; _______________________________________________ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo