雑記帳

整理しない情報集

Gmailの疑似エイリアスを判定するスニペット

公開日:

最終更新:

カテゴリ: Javascript

Gmailは+(プラス)記号や.(ピリオド)記号を用いること(疑似エイリアスと呼ばれます)で、無制限にメールアドレスを作成できます。そこで、Gmailのアドレスで疑似エイリアスを判定したり、エイリアスを削除して本来のメールアドレスを取り出すスクリプトを作ってみました。

注意点

  • あくまでも疑似エイリアスの判定をするために作成したので、それ以外の用途への使用はご遠慮ください
  • gmail.comのドメインで判定を行っているため、G Suite(旧Google Apps)で独自ドメインで運用しているものには対応していません
  • @(アットマーク)が2つ以上ある場合、2つ目以降の@は無視されます

仕様

  • ドメインがgmail.comの場合のみ処理を実行します
  • @(アットマーク)より前にある+(プラス)記号の有無を判定します
  • @(アットマーク)より前の.(ピリオド)記号の有無を判定します

サンプル

コード

const gmailAlias = {
	check(addr) {
		let at = addr.split("@");
		if (at.length < 2 || at[1].toLowerCase() !== "gmail.com") return false;
		let plus = at[0].split("+");
		if (plus.length > 1) return true;
		if (plus[0].includes(".")) return true;
		return false;
	},
	convert(addr) {
		let at = addr.split("@");
		if (at.length < 2 || at[1].toLowerCase() !== "gmail.com") return addr;
		return at[0].split("+")[0].replace(/\./g, "") + "@gmail.com";
	}
};

(2024/07/01 微修正)

使用方法

gmailAlias.check(address);	//判定
gmailAlias.convert(address);	//変換
  • address: メールアドレス

あとがき

なんとなく何も考えないで作りましたが、メールアドレスは自分でサーバを立てれば無制限に作れますし、ワンタイムメールアドレスなるサービスも存在するため、おそらく使う機会は無さそうな気がします…。なんで作ったんだろう。そして、なんで公開しようと思い立ったのだろう…(汗)

( 更新)

カテゴリ: Javascript