LISTO!!! gracias a todos!!
Me quedo así, y de paso quita los espacios dobles, del principio y del final!! ;)
Código:
function validar(s){
// permite una o dos palabras con un solo espacio
var msk_w = /^([a-zá-úñ_\-]+\s?)+$/i
// eliminamos los espacios a ambos lados de la cadena
// y si existe mas de un espacio entre las palabras
// la replazamos por un solo espacio
var st = s.value.replace(/(^\s*)|(\s*$)/g, "").replace(/\s+/g," ");
// comprobamos si es valida la cadena
var tof = msk_w.test(st);
if(tof){
s.value = st;
//alert(tof + " -> \"" + st + "\"");
return false;
}
else{
alert("Palabra clave invalida");
//alert(tof + " -> \"" + st + "\"");
return true;
}
}