Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/07/2010, 21:10
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Tengo esta Expresion regular pero no funciona como quiero

veamos. la expresión que tienes es para validar que las teclas sean las aceptables, de modo que esa expresión la usas en eventos relacionados al teclado dentro del mismo campo.
Código:
<input onkeypress="return ValidaNombre(event);" name="nombre" />

// tu funcion;
function ValidaNombre(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla == 8) return true;

// he modificado la expresion a lo siguiente porque;
// despues de todo solo vas a validar una sola letra;
var rexp = /[a-zA-ZñÑ\s]/);
te = String.fromCharCode(tecla);
return rexp.test(te);
}
validar el contenido tiene mayor sentido cuando se envie el formulario, por tanto este debes de hacerlo en el evento onsubmit del formulario.
Código:
<form onsubmit="return fnValidate(this);">

function fnValidate(form){
var regex = /^[a-zñÑ]+(\s[a-zñÑ]+)?$/i;
return regex.test(form.nombre.value);
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.