验证Google表单中的电子邮件地址

时间:2012-05-18 09:36:00

标签: google-apps-script google-form

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

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

6 个答案:

答案 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-\.]+

您可以使用:

enter image description here

更多正则表达式: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