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

Google Forms多选/复选框other选项是否可添加RegEx正则校验

Google Forms「其他」输入项正则校验相关问题解答
  • 原生功能限制:Google Forms官方未对多选题、复选框题型的「其他」自定义输入选项开放单独的正则校验配置入口,原生正则校验能力仅覆盖短回答、长回答、日期等纯输入类题型,无法直接对选择类题型的附加输入内容做规则限制。
  • 可通过Google Apps Script实现该需求,核心实现逻辑如下:
    • 给目标表单绑定onFormSubmit触发事件,用户提交表单后自动触发校验逻辑
    • 从提交的响应中提取对应多选/复选框题的返回值,筛选出非预设选项的用户自定义输入内容
    • 对自定义内容运行正则匹配校验,不符合规则时可按需执行删除提交记录、给填写人推送规则不符通知等操作
  • 参考实现代码示例:
function validateOtherInput(e) {
  // 可替换为自定义正则规则,示例为校验11位中国大陆手机号
  const customRegex = /^1[3-9]\d{9}$/;
  // 替换为需要校验的选择类题目标题
  const targetQuestionTitle = "请选择你常用的联系方式";
  // 替换为该题目的所有预设选项列表
  const presetOptionList = ["微信", "QQ", "邮箱"];

  const submitResponses = e.response.getItemResponses();
  for (const itemRes of submitResponses) {
    if (itemRes.getItem().getTitle() === targetQuestionTitle) {
      const answer = itemRes.getResponse();
      // 兼容复选框返回数组、单选/多选返回字符串的情况
      const answerList = Array.isArray(answer) ? answer : [answer];
      for (const ans of answerList) {
        // 仅校验非预设的其他输入内容
        if (!presetOptionList.includes(ans)) {
          if (!customRegex.test(ans)) {
            // 校验不通过,删除本次提交记录
            e.response.delete();
          }
        }
      }
      break;
    }
  }
}
  • 注意事项:仅通过Apps Script触发器只能实现提交后校验,如果需要填写阶段实时校验、提交前就弹出错误提示,需要搭配自定义前端实现,原生表单不支持提交前拦截校验其他输入内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:57:03