Ver Mensaje Individual
  #10 (permalink)  
Antiguo 19/02/2012, 08:37
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: funciones javascript que no funcionan

sí la he montado, pero no tiene nada de particular. quizás lo que más te llame la atención sea (\xc0-\xff). se trata de un rango de caracteres como (a-z) pero en este caso es el equivale hexadecimal de caractes con acentos, eñes y algunos otros.

como ves empieza en c0 que es igual a À y acaba en ff que es ÿ. aunque como la expresión tiene el flag (i), el rago puede ser (\xe0-\xff)

en cuanto al código que expones, ya en la primera condicional se ve claramente que va a cumplir con tu objetivo. prueba así
Cita:
function validar (form){
var s = /^([\da-z\xe0-\xff])(([\da-z\xe0-\xff]+)(\s*))+([\da-z\xe0-\xff]+)$/i;
if(!s.test(form.nombreamo.value)) {
alert("Introduzca un cadena de texto.") ;
return false;
}else {
if (form.email.value == "") return true;
//comprobacion de correo
var b= /^([a-zA-ZñÑ0-9_\.\-])+@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
if (! b.test(form.email.value) ) {
alert('Email no válido');
return false;}
}
return true;
}
primero has de verificar el campo que es obligatorio y después el opcional

la licencia que me he tomado en la expresión es que acepte dos o mas palabras, en caso que sólo quieras que se pueda insertar una sola palabra la expresión sería var s = /^([\da-z\xe0-\xff]+)$/i;
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}