Convalida degli indirizzi e-mail in Google Forms
-
11-12-2019 - |
Domanda
Voglio usare un modulo Google per popolare un foglio di calcolo di Google.Uno dei campi è l'indirizzo email, e ho bisogno di convalidare questo contro l'elenco delle e-mail per la nostra organizzazione - in altre parole che costringe le persone a utilizzare indirizzi email validi ed esistenti.
La nostra organizzazione utilizza Google Apps.Il modulo verrà creato da un utente che è nella nostra organizzazione e solo gli indirizzi e-mail dalla nostra organizzazione / dominio saranno considerati validi.
Soluzione
È possibile utilizzare lo script di app sperimentale Servizi di dominio API.Ecco come lo farei.
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'));
}
. Altri suggerimenti
Ora puoi mettere un'espressione regolare sul campo: per e-mail:
[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
. Indirizzo e-mail - Il regex qui sotto dovrebbe corrispondere ai più comuni formati di indirizzo email, compresi gli alias Gmail che accettano il segno "+" ma non c'è soluzione perfetta.
.
[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
Puoi usare come:
per ulteriori regex: Espressioni regolari utili per convalidare l'input in Google Forms
Questa non è una domanda di script di Google Apps, ma quando si crea il modulo, è possibile selezionare una casella di controllo che dice "Raccogli automaticamente il nome utente del rispondente."
Non hai bisogno di uno script.Basta aggiungere una convalida della risposta alla domanda.Nel primo campo, scegli "Testo";Nel secondo campo, "contiene";Nel terzo campo, "@ 'YourDomain'" - Eccolo!