我正在尝试添加检查以查看电子邮件(字符串)是否属于google脚本中特定域的一部分。例如,域将为“ @ company.com”,因此所有带有此名称的电子邮件都将通过支票,而没有该电子邮件的电子邮件将不会通过
基本上,我所拥有的是一种使用以下方法检索当前用户的电子邮件的方法:
var email = Session.getEffectiveUser().getEmail();
现在,我要检查此电子邮件中的特定域/公司 范例:abc@companyname.com
在这种情况下,它将是“ @ companyname.com”部分
我知道通常可以使用其他语言来执行此操作,但是如何在应用脚本中执行此操作?
答案 0 :(得分:1)
这是一个使用正则表达式匹配有效电子邮件并记录结果的函数。请注意,我正在使用i
标志进行不区分大小写的搜索:
function emailCheck(email) {
var regExp = new RegExp("[a-z0-9\.-_]*@companyname\.com$", "i");
match = email.match(regExp);
if(match)
match = true;
else
match = false
Logger.log(email + ' - ' + match);
return match
}
以下输入:
tests = ['ABC.345@companyNAME.com','no_no@goggle.com','ABC.345@companyNAME.com.edu']
for each (test in tests) {
emailCheck(test);
}
输出:
ABC.345@companyNAME.com - true
no_no@goggle.com - false
ABC.345@companyNAME.com.edu - false
答案 1 :(得分:0)
您可以使用以下简单的正则表达式来测试电子邮件:
/@company\.com$/
使用JavaScript,您可以使用此true / false测试:
/@company\.com$/.test(email)
这是一个有效的示例:
const emailTest = email => /@company\.com$/.test(email);
['abc@company.com', 'abc@gmail.com', 'abc.123@gmail.company.com', 'defg@company.com', 'abc.123@company.gmail.com']
.forEach(email => console.log(email.padEnd(30), emailTest(email)))