diff --git a/libs/checker.js b/libs/checker.js index acc0909..0160782 100644 --- a/libs/checker.js +++ b/libs/checker.js @@ -44,7 +44,7 @@ checker.isChinese = function (content) { * @param {string} content */ checker.isEmail = function (content) { - return /^[\w-_]+@[\w-_]+(?:\.\w+)+$/.test(content) + return /^[a-z0-9ก-๛\-]+@[ก-๛a-z][ก-๛a-z0-9\+\-\.]*[ก-๛a-z]{2,}$/.test(content) } /** diff --git a/test/checker/test.isEmail.js b/test/checker/test.isEmail.js index d141385..6fe4247 100644 --- a/test/checker/test.isEmail.js +++ b/test/checker/test.isEmail.js @@ -3,6 +3,10 @@ const checker = require('../../libs/checker') const assert = require('assert') test('邮箱验证', t => { + assert(checker.isEmail('email-test@universal-acceptance-test.international') === true) + assert(checker.isEmail('email-test@universal-acceptance-test.icu') === true) + assert(checker.isEmail('อีเมลทดสอบ@ยูเอทดสอบ.ไทย') === true) + assert(checker.isEmail('อีเมลทดสอบ@ทีเอชนิค.องค์กร.ไทย') === true) assert(checker.isEmail('511363759@qq.com') === true) assert(checker.isEmail('kelvv@outlook.com') === true) assert(checker.isEmail('xxxxÄxx@xxx-xxx.com.hk') === false)