我想使用 Google 表单来填充 Google 电子表格。其中一个字段是电子邮件地址,我需要根据我们组织的电子邮件列表验证这一点 - 换句话说,强制人们使用有效和现有的电子邮件地址。
我们的组织使用 Google Apps。该表单将由我们组织中的用户创建,并且只有来自我们组织/域的电子邮件地址才会被视为有效。
我想使用 Google 表单来填充 Google 电子表格。其中一个字段是电子邮件地址,我需要根据我们组织的电子邮件列表验证这一点 - 换句话说,强制人们使用有效和现有的电子邮件地址。
我们的组织使用 Google Apps。该表单将由我们组织中的用户创建,并且只有来自我们组织/域的电子邮件地址才会被视为有效。
现在您可以在该字段中放置一个正则表达式:
对于电子邮件:
[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
您可以使用实验性 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'));
}
修改后的答案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
这不是 Google Apps 脚本问题,但是当您创建表单时,您可以选择一个复选框,上面写着“自动收集受访者的用户名”。
你不需要脚本。只需向问题添加响应验证即可。在第一个字段中,选择“文本”;在第二个字段中,“包含”;在第三个字段中,“@'yourdomain'”——就是这样!