質問

Googleのスプレッドシートを作成するためにGoogleフォームを使用したいです。いずれかのフィールドがEメールアドレスであり、私たちの組織の電子メールのリストに対してこれを検証する必要があります - 他の言葉では、有効な電子メールアドレスと既存の電子メールアドレスを使用するように人々を強制的に使用する必要があります。

私たちの組織はGoogle Appsを使います。フォームは私たちの組織にいるユーザーによって作成され、私たちの組織/ドメインからの電子メールアドレスだけが有効であると見なされます。

役に立ちましたか?

解決

実験アプリケーションスクリプトドメインサービス 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'));
}
.

他のヒント

今すぐあなたはフィールドに正規表現を置くことができます:電子メールの場合:

[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
.

電子メールアドレス - 以下の正規表現は、 "+"記号を受け入れるGmailエイリアスを含む最も一般的な電子メールアドレスフォーマットと一致するはずですが、完璧な解決策はありません。

[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
.

あなたは次のように使える:

画像の説明が入力されています

よりregex: nofollow noreferrer"> Googleフォームに入力を検証するための有用な正規表現

ありがとうございました。

これはGoogle Appsスクリプトの質問ではありませんが、フォームを作成すると、「回答者のユーザー名を自動的に収集する」というチェックボックスを選択できます。

スクリプトは必要ありません。質問に応答検証を追加するだけです。最初のフィールドに「テキスト」を選択します。2番目のフィールドには、 "Contains";3番目のフィールドには、「@ 'yourdomain'」 - それはそれです!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top