Validação de variaveis

Olá Pessoal estou aqui de novo com mais uma dúvida. estou respondendo uma lista de javascript com 50 questões já fiz umas 40 mas têm umas questões que estão difíceis de resolver.
(Até pq minha faculdade é de redes de computadores) têm uma questão que é assim:

Faça um script que leia e valide as seguintes informações:
a. Nome: maior que 3 caracteres;
b. Idade: entre 0 e 150;
c. Salário: maior que zero;
d. Sexo: ?F? ou ?M?;
e. Estado Civil: ?S?, ?C?, ?U?, ?V?, ?D?.

fiz este código:

mais a saída do programa está sempre errada. ex:
Sexo inválido! (sempre aparece sexo inválido antes da variável nome mesmo com a entrada correta)
Nome = Fulano
Idade = 25
Salário = 2.5
Sexo = M
Estado civil = S

e quando entro com uma variável errada ele só inválida a primeira variável digitada errada e mostra todas as outra com certas. Não sei como resolver já temtei varias abordagens mais não da
certo. Preciso de uma orientação. Obrigado.

Você estava fazendo operações || (or), tem que ser && (and)
digitando m ele fariaisso:
true or false or true or true = true
tem que ser assim:
true and false and true and true = false

outra coisa, você está fazendo if else, if else… ai se ele cair na primeira condição, nem irá ver as próximas, então só vai escrever Nome inválido…
e mais uma coisa, estas verificando o sexo ‘F’ duas vezes, era pra ser ‘M’, ‘m’, ‘F’ e ‘f’…

if (nome.length <= 3)
document.write("Nome inválido!")

if (idade < 0 || idade > 150)
document.write("Idade inválida!")

if (salario < 0 )
document.write("salario inválido!")

if (sexo != 'M' && sexo != 'm' && sexo != 'f' && sexo !='F')
document.write("Sexo inválido!")

if (estcivil != 's' && estcivil != 'S' && estcivil != 'c' && estcivil !='C' && estcivil != 'v' && estcivil != 'V'
&& estcivil != 'd' && estcivil != 'D' && estcivil != 'u' && estcivil != 'U')
document.write("Estado Civil Inválido")