6

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

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

4

6 回答 6

14

现在您可以在该字段中放置一个正则表达式:

对于电子邮件:

[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
于 2014-05-28T15:19:15.250 回答
6

您可以使用实验性 Apps Script Domain 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'));
}
于 2012-05-18T14:53:40.283 回答
2
于 2017-04-26T11:15:16.107 回答
1

修改后的答案Romias (邮件 - 最小长度 3,域 - 最小长度 2)

[a-zA-Z0-9_\.\+-]{3,}@[a-zA-Z0-9-]{2,}\.[a-zA-Z0-9-\.]{2,}
// a@a.a = false 
// aaa@aa.aa = true
于 2020-09-02T10:48:00.140 回答
0

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

于 2012-05-18T12:00:25.587 回答
0

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

于 2018-12-11T03:18:29.847 回答