function validateFormNews(form1){ var reason = ""; reason += validateEmail(form1.EMAIL,'E-mail',' o seu'); if (form1.gdpr.checked == false){ reason += "Falta aceitar a política de privacidade para receber a nossa Newsletter!"; } if (reason != "") { alert("Alguns campos necessitam ser corrigidos:\n" + reason); return false; } form1.submit(); } function validateFormmail(form1) { var reason = ""; if (grecaptcha.getResponse() == ""){ alert("Não fez a verificação do reCAPTCHA!") return false; } reason += validateText(form1.nome,'Nome Completo',' o seu'); reason += validatePhone(form1.telefone,'Telf/Telm'); reason += validateEmail(form1.email,'O E-mail', 'o seu'); reason += validateNoBlank(form1.mensagem,'Mensagem',' a sua'); if (reason != "") { alert("Alguns campos necessitam ser corrigidos:\n" + reason); return false; } form1.submit(); } function validateFormmens(form1) { var reason = ""; reason += validateText(form1.nome,'Nome',' o seu'); reason += validateEmail(form1.email); reason += validateonlyText(form1.mensagem,'Comentário',' o seu'); if (reason != "") { alert("Alguns campos necessitam ser corrigidos:\n" + reason); return false; } alert("Todos os campos estão preenchidos correctamente."); form1.submit(); } function validateNoBlank(fld,campo) { var error = ""; var illegalChars= /[\(\)\<\>\;\\\"\[\]]/; var numeric = /[0-9]/; if (fld.value == "") { fld.style.background = '#f5adad'; error = campo+".\n"; } else if (fld.value.length < 2) { fld.style.background = '#f5adad'; error = campo+" - Tem que introduzir pelo menos duas letras.\n"; } else { fld.style.background = 'White'; } return error; } function validateText(fld,campo) { var error = ""; var illegalChars= /[\(\)\<\>\;\\\"\[\]]/; var numeric = /[0-9]/; if (fld.value == "") { fld.style.background = '#f5adad'; error = campo+".\n"; } else if (fld.value.length < 2) { fld.style.background = '#f5adad'; error = campo+" - Tem que introduzir pelo menos duas letras.\n"; } else if (fld.value.match(numeric)) { fld.style.background = '#f5adad'; error = campo+" - Não aceita dados numéricos.\n"; } else if (fld.value.match(illegalChars)) { fld.style.background = '#f5adad'; error = campo+" - Contém caracteres inválidos.\n"; } else { fld.style.background = 'White'; } return error; } function validateNumerico(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = campo+" - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = 'White'; } return error; } function validateAddress(fld,campo) { var error = ""; if (fld.value.length == 0) { fld.style.background = '#f5adad'; error = campo+" - Não introduziu a sua morada.\n"; } else { fld.style.background = 'White'; } return error; } function validateCity(fld,campo) { var error = ""; if (fld.value.length == 0) { fld.style.background = '#f5adad'; error = campo+" - Não introduziu a sua morada.\n"; } else { fld.style.background = 'White'; } return error; } function validatePostalCode(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\ ]/g, ''); if (fld.value == "") { fld.style.background = '#f5adad'; error = campo+" - Não introduziu nenhum Cód. Postal.\n"; } else if(isNaN(parseInt(stripped))){ fld.style.background = '#f5adad'; error = campo+" - Contém caracteres inválidos (ex:1234-000).\n"; } else if(fld.value.length !=8){ fld.style.background = '#f5adad'; error = campo+" - São necessários sete dígitos e um hífen (ex: 1234-000).\n"; } else if(fld.value.length == 8){ reZip = new RegExp(/(^\d{4}-\d{3}$)/); if(!reZip.test(fld.value)){ fld.style.background = '#f5adad'; error = campo+" - Código Postal incorrecto (ex: 1234-000).\n"; } } else { fld.style.background = 'White'; } return error; } function trim(s){ return s.replace(/^\s+|\s+$/, ''); } function validatePhone(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = campo+" - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (!(stripped.length == 9)) { error = campo+" - Tem que ter 9 dígitos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = 'White'; } return error; } function validateNif(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); var alpha = /[a-zA-Z]/; if (fld.value == "") { error = campo+" - Não introduziu nenhum número.\n"; fld.style.background = '#f5adad'; } else if (isNaN(parseInt(stripped))) { error = campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (fld.value.match(alpha)){ error = campo+" - Contém caracteres inválidos.\n"; fld.style.background = '#f5adad'; } else if (!(stripped.length == 9)) { error = campo+" - Tem que ter 9 dígitos.\n"; fld.style.background = '#f5adad'; } else { fld.style.background = 'White'; } return error; } function validateEmail(fld,campo) { var error=""; var tfld = trim(fld.value); // value of field with whitespace trimmed off var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ; var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ; if (fld.value == "") { fld.style.background = '#f5adad'; error = campo+" - Não introduziu nenhum e-mail.\n"; } else if (!emailFilter.test(tfld)) { //test email for illegal characters fld.style.background = '#f5adad'; error = campo+" - Por favor introduza um e-mail válido.\n"; } else if (fld.value.match(illegalChars)) { fld.style.background = '#f5adad'; error = campo+" - Contém caracteres inválidos.\n"; } else { fld.style.background = 'White'; } return error; } function validateDate(fld,campo) { var error = ""; var stripped = fld.value.replace(/[\(\)\.\ ]/g, ''); var minYear = 1902; var maxYear = (new Date()).getFullYear(); re = new RegExp(/^(\d{4})\/(\d{1,2})\/(\d{1,2})$/); // regular expression to match required date format if (fld.value == "aaaa-mm-dd"){ fld.style.background = '#f5adad'; error = campo+" - Introduza uma data válida"; } else if (isNaN(parseInt(stripped))) { fld.style.background = '#f5adad'; error = campo+" - Contém caracteres inválidos.\n"; } else if(fld.value != "") { if(regs = fld.value.match(re)) { if(regs[1] < minYear || regs[1] > maxYear) { fld.style.background = '#f5adad'; error = campo+" - Ano inválido: " + regs[1] + " - deve ser de " + minYear + " a " + maxYear +"\n"; } else if(regs[2] < 1 || regs[2] > 12) { fld.style.background = '#f5adad'; error = campo+" - Mês inválido: " + regs[2] +"\n"; } else if(regs[3] < 1 || regs[3] > 31) { fld.style.background = '#f5adad'; error = campo+" - Dia inválido: " + regs[3] +"\n"; } else { fld.style.background = 'White'; } } else { fld.style.background = '#f5adad'; error = "Formato de data inválido: " + fld.value + " (ex: aaaa/mm/dd)\n"; } } else { fld.style.background = 'White'; } return error; }