Skip to content

Instantly share code, notes, and snippets.

@axross
Created March 16, 2015 16:01
Show Gist options
  • Save axross/ec7f3367e3a7a43bc208 to your computer and use it in GitHub Desktop.
Save axross/ec7f3367e3a7a43bc208 to your computer and use it in GitHub Desktop.
import is from 'is_js';
// メールアドレスサンプル
// 引用元 : http://qiita.com/mpyw/items/257eabe0b43b1e02e6f7
const emails = [
'[email protected]',
'[email protected]',
'user+mailbox/[email protected]',
"!#$%&'*+-/=?^_`.{|}[email protected]",
'"Abc@def"@example.com',
'"Fred\ Bloggs"@example.com',
'"Joe.\\Blow"@example.com',
'".dot_kara_hazimaru"@example.com',
'"I.likeyou."@example.com',
'"I..love...you"@example.com',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'a@[0.0.0.0]',
'a@[255.255.255.255]',
'a@[255.255.255.256]',
'a@[001.002.003.004]',
'a@[2001:0db8:bd05:01d2:288a:1fc0:0001:10ee]',
'a@[2001:0db8:bd05:01d2:288a::1fc0:0001:10ee]',
'a@[2001:0db8:bd05:01d2:288a:1fc0:0001:10ee:11fe]',
'a@[2001:db8:20:3:1000:100:20:3]',
'a@[2001:db8::1234:0:0:9abc]',
'a@[2001:db8::9abc]',
'a@[::]',
'a@[0::0]',
'a@[::1]',
'a@[1::]',
'a@[1:2:3:4:5:6:7::]',
'a@[::255.255.255.255]',
'a@[::ffff:255.255.255.255]',
'a@[::ffff:0:255.255.255.255]',
'a@[2001:db8:3:4::192.0.2.33]',
'a@[64:ff9b::192.0.2.33]',
'a@[example.com]',
'a@[example.com:hoge]',
'a@0',
'a@a',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'a@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.com',
'a@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678901.com',
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/@example.com',
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/[email protected]',
'"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/"@example.com',
'"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/a"@example.com',
'abcdefhghijklmnopqrstuvwxyzABC@aaaaaaaa01.aaaaaaaa02.aaaaaaaa03.aaaaaaaa04.aaaaaaaa05.aaaaaaaa06.aaaaaaaa07.aaaaaaaa08.aaaaaaaa09.aaaaaaaa10.aaaaaaaa11.aaaaaaaa12.aaaaaaaa13.aaaaaaaa14.aaaaaaaa15.aaaaaaaa16.aaaaaaaa17.aaaaaaaa18.aaaaaaaa19.aaaaaaaa20.com',
'abcdefhghijklmnopqrstuvwxyzABCD@aaaaaaaa01.aaaaaaaa02.aaaaaaaa03.aaaaaaaa04.aaaaaaaa05.aaaaaaaa06.aaaaaaaa07.aaaaaaaa08.aaaaaaaa09.aaaaaaaa10.aaaaaaaa11.aaaaaaaa12.aaaaaaaa13.aaaaaaaa14.aaaaaaaa15.aaaaaaaa16.aaaaaaaa17.aaaaaaaa18.aaaaaaaa19.aaaaaaaa20.com',
'"abcdefhghijklmnopqrstuvwxyzABC"@aaaaaaaa01.aaaaaaaa02.aaaaaaaa03.aaaaaaaa04.aaaaaaaa05.aaaaaaaa06.aaaaaaaa07.aaaaaaaa08.aaaaaaaa09.aaaaaaaa10.aaaaaaaa11.aaaaaaaa12.aaaaaaaa13.aaaaaaaa14.aaaaaaaa15.aaaaaaaa16.aaaaaaaa17.aaaaaaaa18.aaaaaaaa19.aaaaaaaa20.com',
'"abcdefhghijklmnopqrstuvwxyzABCD"@aaaaaaaa01.aaaaaaaa02.aaaaaaaa03.aaaaaaaa04.aaaaaaaa05.aaaaaaaa06.aaaaaaaa07.aaaaaaaa08.aaaaaaaa09.aaaaaaaa10.aaaaaaaa11.aaaaaaaa12.aaaaaaaa13.aaaaaaaa14.aaaaaaaa15.aaaaaaaa16.aaaaaaaa17.aaaaaaaa18.aaaaaaaa19.aaaaaaaa20.com'
];
var successCount = 0;
var failureCount = 0;
emails.forEach(v => {
var isValid = is.email(v);
isValid ? ++successCount : ++failureCount;
console.log(`[${isValid}] ${v}`);
});
console.log(`Success: ${successCount}`);
console.log(`Failure: ${failureCount}`);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment