我想使用Google表单填充Google电子表格。其中一个字段是电子邮件地址,我需要根据我们组织的电子邮件列表对此进行验证 - 换句话说,强制用户使用有效和现有的电子邮件地址。
我们的组织使用Google Apps。该表单将由我们组织中的用户创建,并且只有来自我们组织/域的电子邮件地址才会被视为有效。
答案 0 :(得分:13)
现在您可以在字段中放置正则表达式:
对于电子邮件:
[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
答案 1 :(得分:6)
您可以使用实验性应用脚本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'));
}
答案 2 :(得分:2)
电子邮件地址 - 下面的正则表达式应该与大多数常见的电子邮件地址格式相匹配,包括接受“+”符号的Gmail别名,但没有完美的解决方案。
[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
您可以使用:
更多正则表达式:Useful Regular Expressions for Validating Input in Google Forms
谢谢。
答案 3 :(得分:0)
这不是Google Apps脚本问题,但在您创建表单时,您可以选中一个“自动收集受访者的用户名”复选框。
答案 4 :(得分:0)
您不需要脚本。只需在问题中添加回答确认即可。在第一个字段中,选择“文本”;在第二个字段中,“包含”;在第三个字段“ @'yourdomain'”-就是这样!
答案 5 :(得分:0)
修改后的答案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