O Google Forms valida resposta por expressão regular — ou seja, só confere o formato, não o dígito verificador. Para checar o CPF de verdade (módulo 11) é preciso um Apps Script ou uma planilha vinculada. Os dois caminhos abaixo.
1. Formato, dentro do Forms (regex)
Na pergunta de texto curto: Validação da resposta › Expressão regular › Corresponde. Para CPF com ou sem máscara:
^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$111.444.777-35 e 11111111111 — os dois têm o formato certo. A regex não calcula o dígito verificador. Para barrar um CPF inválido de fato, use o passo 2.2. Dígito verificador, com Apps Script
No formulário: ⋮ › Editor de scripts. Cole a função abaixo e crie um acionador onFormSubmit. Ela roda a cada envio e marca (ou e-mail) as respostas com CPF inválido. O algoritmo é o módulo 11, o mesmo do nosso validador em JavaScript:
function isValidCPF(cpf) {
cpf = String(cpf).replace(/\D/g, '');
if (cpf.length !== 11 || /^(\d)\1{10}$/.test(cpf)) return false;
const dv = (slice) => {
let sum = 0;
for (let i = 0; i < slice.length; i++) sum += +slice[i] * (slice.length + 1 - i);
const rest = (sum * 10) % 11;
return rest === 10 ? 0 : rest;
};
return dv(cpf.slice(0, 9)) === +cpf[9] && dv(cpf.slice(0, 10)) === +cpf[10];
}
// Acionador: onFormSubmit. "CPF" = título exato da pergunta.
function onFormSubmit(e) {
const itens = e.response.getItemResponses();
for (const it of itens) {
if (it.getItem().getTitle() === 'CPF' && !isValidCPF(it.getResponse())) {
MailApp.sendEmail(Session.getActiveUser().getEmail(),
'CPF inválido em uma resposta', 'Recebido: ' + it.getResponse());
}
}
}Para CNPJ, troque por a função isValidCNPJ (que aceita o numérico e o alfanumérico de 2026).
3. Alternativa: planilha vinculada
Se o formulário já manda as respostas para uma planilha, valide lá com a fórmula de CPF no Google Sheets numa coluna ao lado — sem script.
Continue
Perguntas frequentes
O Google Forms valida CPF?
onFormSubmit ou uma planilha vinculada com a fórmula.A regex do Forms barra um CPF inválido?
111.111.111-11. Quem barra o inválido de fato é o Apps Script.Dá para validar CNPJ no Forms?
isValidCNPJ (que aceita o alfanumérico de 2026).