使用 JavaScript 驗證電子郵件的 4 種方法

banq發表於2021-08-04

在本文中,您將發現使用 JavaScript 進行電子郵件驗證的四種方法!
 

使用正規表示式驗證電子郵件
使用 JavaScript 驗證電子郵件的最常見方法是使用正規表示式 (RegEx)。正規表示式將幫助您定義驗證字串的規則。

function isEmailValid(email) {
  const emailRegexp = new RegExp(
    /^[a-zA-Z0-9][\-_\.\+\!\#\$\%\&\'\*\/\=\?\^\`\{\|]{0,1}([a-zA-Z0-9][\-_\.\+\!\#\$\%\&\'\*\/\=\?\^\`\{\|]{0,1})*[a-zA-Z0-9]@[a-zA-Z0-9][-\.]{0,1}([a-zA-Z][-\.]{0,1})*[a-zA-Z0-9]\.[a-zA-Z0-9]{1,}([\.\-]{0,1}[a-zA-Z]){0,}[a-zA-Z0-9]{0,}$/i
  )

  return emailRegexp.test(email)
}

console.log(isEmailValid('helloitsme@herewecode.io')) // true
console.log(isEmailValid('hello-its-me@herewecode.io')) // true
console.log(isEmailValid('hello.its.me@herewecode.io')) // true
console.log(isEmailValid('helloitsme+test@herewecode.io')) // true
console.log(isEmailValid('.helloitsme@herewecode.io')) // false
console.log(isEmailValid('helloitsme.@herewecode.io')) // false
console.log(isEmailValid('@herewecode.io')) // false
console.log(isEmailValid('helloitsmeherewecode.io')) // false
console.log(isEmailValid('helloitsme@herewecode')) // false
console.log(isEmailValid('d@d.o')) // false

 

使用電子郵件驗證器進行電子郵件驗證

使用
“email validator”庫包:

const validator = require('email-validator')

console.log(validator.validate('helloitsme@herewecode.io')) // true
console.log(validator.validate('hello-its-me@herewecode.io')) // true
console.log(validator.validate('hello.its.me@herewecode.io')) // true
console.log(validator.validate('helloitsme+test@herewecode.io')) // true
console.log(validator.validate('.helloitsme@herewecode.io')) // false
console.log(validator.validate('helloitsme.@herewecode.io')) // false
console.log(validator.validate('@herewecode.io')) // false
console.log(validator.validate('helloitsmeherewecode.io')) // false
console.log(validator.validate('helloitsme@herewecode')) // false
console.log(validator.validate('d@d.o')) // false


 

使用 HTML5 輸入驗證的電子郵件驗證

<input type="email" id="email" name="email" placeholder="email" />


 

使用 API 進行電子郵件驗證
可以使用 API 驗證電子郵件。以下是一些提出電子郵件驗證 API 的公司:SendGrid、MailBoxLayer、Abstract API 等。這些 API 中的大多數都不是免費的,但它們會為您提供一些高階功能(例如:檢查電子郵件是否存在)。

相關文章