You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Forms中验证邮箱字段是否存在于Spreadsheet中?

Google Forms邮箱存在性验证实现方案

实现步骤

  1. 准备注册邮箱表格
    确保你的Google表格中存在一列专门存储已注册用户的邮箱(比如Sheet1的A列),表格需设置为可被脚本访问(权限设置为“任何人可查看”或脚本拥有者有权限访问)。

  2. 打开表单脚本编辑器
    打开目标Google Forms,点击右上角的「⋮」菜单,选择「脚本编辑器」,进入Google Apps Script编辑界面。

  3. 替换并配置脚本
    删除默认的myFunction代码,粘贴以下脚本,并替换配置参数为你的实际信息:

    function validateEmailOnSubmit(e) {
      // 配置参数
      const SPREADSHEET_ID = "你的Google表格ID"; // 替换为注册邮箱表格的ID
      const EMAIL_RANGE = "Sheet1!A:A"; // 替换为存储邮箱的列范围
      const FORM_EMAIL_FIELD_TITLE = "邮箱"; // 替换为表单中邮箱字段的标题
      const REGISTRATION_LINK = "你的注册链接"; // 替换为注册页面链接
    
      // 获取提交的邮箱
      const response = e.response;
      const itemResponses = response.getItemResponses();
      let submittedEmail = "";
    
      for (let itemResponse of itemResponses) {
        if (itemResponse.getItem().getTitle() === FORM_EMAIL_FIELD_TITLE) {
          submittedEmail = itemResponse.getResponse();
          break;
        }
      }
    
      if (!submittedEmail) return;
    
      // 读取注册邮箱列表
      const spreadsheet = SpreadsheetApp.openById(SPREADSHEET_ID);
      const emailRange = spreadsheet.getRange(EMAIL_RANGE);
      const emailValues = emailRange.getValues().flat().filter(email => email !== "");
    
      // 验证邮箱存在性
      if (!emailValues.includes(submittedEmail)) {
        // 删除无效提交记录
        response.deleteResponse();
        // 发送验证失败提示邮件
        MailApp.sendEmail({
          to: submittedEmail,
          subject: "提交验证失败",
          body: `您未注册,请点击链接先完成注册:${REGISTRATION_LINK}`
        });
      }
    }
    

    配置参数说明:

    • SPREADSHEET_ID:打开注册邮箱表格,地址栏中d/与/edit之间的字符串即为表格ID
    • EMAIL_RANGE:格式为「工作表名!列范围」,例如邮箱在Sheet2的B列则填Sheet2!B:B
    • FORM_EMAIL_FIELD_TITLE:必须与表单中邮箱字段的标题完全一致(包括大小写、空格)
    • REGISTRATION_LINK:替换为你的注册表单或页面链接
  4. 设置可安装触发器

    1. 在脚本编辑器左侧点击「触发器」图标(时钟形状)
    2. 点击「添加触发器」按钮,配置以下选项:
      • 选择函数:validateEmailOnSubmit
      • 部署来源:Head
      • 事件来源:表单提交
      • 事件类型:当表单提交时
    3. 点击「保存」,按照提示完成脚本权限授权(需允许脚本访问表格和发送邮件)

注意事项

  • 脚本仅在用户提交表单后执行验证,若邮箱不存在会自动删除提交记录并向用户发送提示邮件;Google Forms原生不支持提交前实时前端验证,这是目前最可行的实现方式
  • 确保注册邮箱表格中的邮箱格式与表单提交的邮箱格式一致(避免大小写、空格差异导致匹配失败)
  • 首次触发脚本时会要求授权,需使用拥有表单和表格编辑权限的Google账号完成授权

内容的提问来源于stack exchange,提问作者Akash Chalana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:23:12