我想使用Google表单来填充Google电子表格。其中一个字段是电子邮件地址,我需要针对我们组织的电子邮件列表验证它 - 换句话说,迫使人们使用有效和现有的电子邮件地址。

我们的组织使用Google Apps。该表格将由在我们的组织中的用户创建,并且只有来自我们组织/域的电子邮件地址将被视为有效。

有帮助吗?

解决方案

您可以使用实验应用程序脚本 services API。这就是我的方式。

function isValidEmailInMyDomain(address) {
  var parts = address.split('@');
  if( parts.length != 2 )
    return false;
  if( parts[1] != UserManager.getDomain() )
    return false;
  try {
    UserManager.getUser(parts[0]);
    return true;
  } catch(doesNotExist) {
    return false;
  }
}

function testFunction() { //check the menu View > Logs
  Logger.log(isValidEmailInMyDomain('aEmailIn@yourDomain.com'));
}
.

其他提示

现在,您可以在现场中的正则表达式:电子邮件:

[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
.

电子邮件地址 - 下面的Regex应该匹配大多数常见的电子邮件地址格式,包括接受“+”标志的Gmail别名,但没有完美的解决方案。

[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
.

您可以使用:

对于更多正则表达式:用于验证Google表单中的输入的有用正则表达式

谢谢。

这不是Google Apps脚本问题,但是当您创建表单时,可以选择一个复选框,该复选框“自动收集受访者的用户名”。

您不需要脚本。只需为问题添加响应验证即可。在第一个字段中,选择“文本”;在第二个领域,“包含”;在第三个领域,“@'yourdomain'” - 就是这样!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top