您的位置:

邮箱正则校验指南

一、JS正则验证邮箱

JavaScript是前端开发最常用的语言之一,它提供了强大的正则表达式匹配功能。通过正则表达式可以方便地对邮箱进行验证。以下是一个JS的邮箱正则校验函数:

function emailValid(email) {
  var emailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
  return emailReg.test(email)
}

使用方法如下:

if(emailValid('example@example.com')) {
  console.log('Valid email!')
} else {
  console.log('Invalid email!')
}

说明:

该函数使用了正则表达式对邮箱的格式进行检查,其中正则表达式中的^表示开始符号,$表示结束符号,中间部分[a-zA-Z0-9_-]表示可以是大小写字母和数字以及“-”和“_”,+号表示可以出现一次或多次,@、.等特殊字符需要在正则表达式中进行转义。

二、Python正则匹配邮箱

Python也是一种常用的程序语言,具有强大的正则表达式功能。以下是一个Python的邮箱正则校验示例:

import re

def emailValid(email):
    emailReg = r'^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+'
    return bool(re.match(emailReg, email))

if emailValid('example@example.com'):
    print('Valid email!')
else:
    print('Invalid email!')

说明:

该函数利用Python正则表达式库re进行邮箱格式校验,其中^表示开始符号,$表示结束符号,中间部分[a-zA-Z0-9_-]表示可以是大小写字母和数字以及“-”和“_”,+号表示可以出现一次或多次,@、.等特殊字符需要在正则表达式中进行转义。

三、正则验证邮箱格式

常规的邮箱校验包括格式和域名两部分。以下是一个包括格式和域名检查的正则表达式示例:

function emailValid(email) {
  var emailReg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
  return emailReg.test(email)
}

if(emailValid('example@example.com')) {
  console.log('Valid email!')
} else {
  console.log('Invalid email!')
}

说明:

该函数使用了较为严格的正则表达式对邮箱格式进行检查,其中^表示开始符号,$表示结束符号,中间部分[a-zA-Z0-9_-]表示可以是大小写字母和数字以及“-”和“_”,+号表示可以出现一次或多次,@、.等特殊字符需要在正则表达式中进行转义。由于邮件域名的相关规定较为繁琐,因此在这里没有进行过多的讲解。

四、js邮箱正则校验

对于JS语言来说,验证邮箱格式是一项比较常见的任务,以下是一种JS邮箱正则校验的方法:

function emailValid(email) {
  var isEmail = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/
  return isEmail.test(email)
}

if(emailValid('example@example.com')) {
  console.log('Valid email!')
} else {
  console.log('Invalid email!')
}

说明:

该方法使用了一个比较严格的正则表达式进行邮箱格式验证,其中^\w+表示可以由大小写字母、数字和下划线构成的字符串组成,@[a-zA-Z_]+?\.表示匹配一段表示邮件域名的字符串,其中?表示非贪婪模式,在进行第一次匹配之后会寻找最短匹配的结果,[a-zA-Z]{2,3}$表示匹配由大小写字母构成的长度在2到3之间的字符串,$表示结束符号。

五、邮箱常规的正则校验

在日常的开发工作中,进行邮箱校验时也可以采用一些更加简单的正则表达式。以下是一个常规的邮箱正则校验的方法:

function emailValid(email) {
  var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/
  return reg.test(email)
}

if(emailValid('example@example.com')) {
  console.log('Valid email!')
} else {
  console.log('Invalid email!')
}

说明:

该正则表达式使用了很多简化符号,其中^表示开始符号,$表示结束符号,中间部分的([a-zA-Z]|[0-9])(\w|\-)+表示以大小写字母或数字开始,后跟任意个由大小写字母、数字、下划线和破折号组成的字符,@[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$表示@符号后面跟连续的由大小写字母和数字组成的字符,最后以由大小写字母构成的长度在2到4之间的字符串结束。