用正则表达式校验手机号和邮箱

简介: 用正则表达式校验手机号和邮箱

用正则表达式校验手机号和邮箱


在现代互联网时代,手机号和邮箱已经成为了人们日常生活中不可或缺的联系方式。作为开发人员,校验用户输入的手机号和邮箱的合法性是非常必要的。本文将介绍如何使用正则表达式校验手机号和邮箱的格式是否正确。


校验手机号


在中国,手机号的格式是11位数字,其中第一位必须是1。下面是使用正则表达式校验手机号的方法:


import re
def check_phone_number(phone_number):
    pattern = r"^1\\d{10}$"
    return bool(re.match(pattern, phone_number))


上述代码中,check_phone_number() 函数接受一个字符串类型的手机号作为参数,使用 re.match() 方法和正则表达式 pattern 进行匹配。如果匹配成功,则返回 True,否则返回 False。


上述正则表达式 pattern 是一个字符串,它的含义解释如下:


  • ^ 表示匹配字符串的开始位置
  • 1 表示第一位必须是数字 1
  • \\d{10} 表示接下来的 10 位必须是数字
  • $ 表示匹配字符串的结束位置

我们可以通过调用 check_phone_number() 函数来检验手机号的合法性:


print(check_phone_number("13812345678"))  # True
print(check_phone_number("1881234567"))   # False
print(check_phone_number("138123456789")) # False


校验邮箱


校验邮箱的格式比较复杂,但是通过正则表达式也可以很容易地实现。下面是使用正则表达式校验邮箱的方法:


import re
def check_email(email):
    pattern = r"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$"
    return bool(re.match(pattern, email))


上述代码中,check_email() 函数接受一个字符串类型的邮箱地址作为参数,使用 re.match() 方法和正则表达式 pattern 进行匹配。如果匹配成功,则返回 True,否则返回 False。


上述正则表达式 pattern 是一个字符串,它的含义解释如下:


  • ^ 表示匹配字符串的开始位置
  • [a-zA-Z0-9_-]+ 表示匹配用户名部分,其中包含大小写字母、数字、下划线和横线
  • @ 表示匹配 @ 符号
  • [a-zA-Z0-9_-]+ 表示匹配域名部分,同样包含大小写字母、数字、下划线和横线
  • (\\.[a-zA-Z0-9_-]+)+ 表示匹配顶级域名部分,可以有多个,每个以 . 开头
  • $ 表示匹配字符串的结束位置


我们可以通过调用 check_email() 函数来检验邮箱的合法性:


print(check_email("example@example.com"))      # True
print(check_email("example@example.com.cn"))   # True
print(check_email("example_example.com"))     # False
print(check_email("example@example_com.cn"))  # False


通过使用正则表达式,我们可以轻松地校验手机号和邮箱的合法性,保证用户输入的数据格式正确,同时提高系统的安全性。


相关文章
|
3月前
|
JavaScript NoSQL Redis
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
这篇文章记录了在Vue中实现修改手机号和邮箱的大致流程,包括使用过滤器部分隐藏展示的手机号和邮箱,以及通过点击触发路由跳转的便捷方式。文章还描述了旧号码和新号码验证的界面实现,其中验证码由后端生成并通过弹窗展示给用户,未来可以接入真正的手机验证码接口。此外,还提供了修改邮箱的页面效果截图,并强调了学习是一个永无止境的过程。
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
|
3月前
|
JavaScript 数据安全/隐私保护
Vue中如何使用过滤器来隐藏手机号、邮箱等字符串的中间部分内容
这篇文章介绍了在Vue中如何使用过滤器来隐藏手机号和邮箱等字符串的中间部分内容,以提高隐私保护。文章展示了实现效果,并提供了实现过程的代码示例,包括HTML部分的绑定、data部分的数据定义和script部分的过滤器定义。文章还解释了过滤器的概念、语法和使用方式,并提供了一个外部链接供读者获取更加详细的过滤器知识。
|
1月前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
105 1
|
2月前
|
Java 数据库连接 测试技术
自定义校验注解,优雅的实现手机号,身份证号的格式校验!
本文介绍了如何创建自定义校验注解来实现手机号和身份证号的格式校验,包括定义注解、实现校验逻辑、将注解应用于模型类,以及常用的校验器库和框架,旨在提高代码的可维护性和减少重复的校验逻辑。
|
2月前
|
JavaScript 前端开发
在url中取ip或者键值对、手机号脱敏、电话号脱敏、身份证脱敏、银行卡号脱敏、身份证校验
本文提供了JavaScript代码示例,用于从URL中提取IP地址、键值对,以及对手机号、电话号码、身份证号和银行卡号进行脱敏处理,还包含了身份证号的校验方法。
59 0
|
5月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
110 5
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
vue 前端 邮箱、密码、手机号码等输入验证规则
vue 前端 邮箱、密码、手机号码等输入验证规则
393 0
|
5月前
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式
|
5月前
|
自然语言处理 Rust JavaScript
多语言环境下的正则表达式实战:校验整数、小数
多语言环境下的正则表达式实战:校验整数、小数
|
6月前
|
存储 数据安全/隐私保护
苹果手机如何设置邮箱
苹果手机如何设置邮箱
116 0