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

这篇具有很好参考价值的文章主要介绍了用正则表达式校验手机号和邮箱。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

校验手机号

在中国,手机号的格式是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

通过使用正则表达式,我们可以轻松地校验手机号和邮箱的合法性,保证用户输入的数据格式正确,同时提高系统的安全性。文章来源地址https://www.toymoban.com/news/detail-439075.html

到了这里,关于用正则表达式校验手机号和邮箱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java:正则表达式书写规则及相关案例:检验QQ号码,校验手机号码,邮箱格式,当前时间

    目标:体验一下使用正则表达式来校验数据格式的合法性。 需求:校验QQ号码是否正确,要求全部是数字,长度是(6-20)之间,不能以0开头

    2024年02月12日
    浏览(49)
  • 【Java】正则表达式,校验数据格式的合法性。

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 正则表达式 : ①可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。 案例: 对象名.ma

    2024年02月08日
    浏览(38)
  • js 正则表达式 校验 input输入框 输入格式必须为日期yyyyMM

    要使用正则表达式校验 input 输入框的输入格式是否为日期格式 “yyyyMM”,你可以使用以下 JavaScript 正则表达式: 这个正则表达式匹配的是四位数年份和两位数月份,确保输入的格式为 “yyyyMM”。 以下是一个使用这个正则表达式的例子: 在这个例子中,当用户在 input 输入框

    2024年01月19日
    浏览(39)
  • 前端Vue手机号校验及后端Java手机号校验

    大家好! 今天给大家分享的知识是前端Vue手机号校验以及后端Java进行手机号校验,这两个也是我在开发过程中遇到的问题,现在来给大家分享一下我的解决办法。 在这里我写了一个很简单的小例子,大家可以参考一下,在此基础上进行改进,代码如下: 关键代码都有注释,

    2024年02月04日
    浏览(37)
  • java正则表达式(附带案例——检测手机号码是否合法)

    Java正则表达式是一种用于匹配字符串的模式,它可以用来检查一个字符串是否符合某种格式,或者从一个字符串中提取出符合某种格式的子串。Java中的正则表达式使用java.util.regex包来实现。 以下是一些常用的Java正则表达式语法: 1. 字符类:用方括号[]表示,匹配方括号中的

    2024年02月11日
    浏览(40)
  • 前端-el-form表单校验,如何校验手机号和身份证号

    分成三部分处理 首先,要在模板的prop里添加校验规则 el-form-item label=\\\"身份证号:\\\" prop=\\\"identificationNumber\\\" 然后申明规则rules identificationNumber:[                 {required: true, validator: validatorIdCard, trigger: \\\'blur\\\'}                 ], phone: [                 { required: true, validator: v

    2024年04月25日
    浏览(29)
  • vue项目表单使用正则过滤ip、手机号

    useFormValidate .js 手机号验证

    2024年02月03日
    浏览(37)
  • 微信小程序input输入框校验手机号输入错误

    inputtaskphone(e) { if(e.detail.value!=“”){ if (!(/^1[3456789]d{9}$/.test(e.detail.value))) { this.setData({ phonedisplay: true, placeholder: “”, “task.phone”:“” }) } } }, focus() { this.setData({ phonedisplay: false, placeholder: “请输入联系方式”, “task.phone”:“” }) }, data: { task: { phone: “” }, phonedisplay: false,

    2024年02月09日
    浏览(44)
  • Java密码校验(正则表达式):密码由这四种元素组成(数字、大写字母、小写字母、特殊字符),且必须包含全部四种元素;密码长度大于等于8个字符。

    对用户密码的强度进行校验,要求用户密码达到一定的强度,符合安全性要求。 密码必须由字母和数字组成(同时包括数字和数字);密码长度大于等于8个字符。 密码由这四种元素组成(数字、大写字母、小写字母、特殊字符),且必须包含全部四种元素;密码长度大于等

    2024年02月10日
    浏览(71)
  • 【正则表达式】正则表达式常见匹配模式

    模式 描述 w 匹配字母数字及下划线 W 匹配非字母数字下划线 s 匹配任意空白字符,等价于 [tnrf]. S 匹配任意非空字符 d 匹配任意数字,等价于 [0-9] D 匹配任意非数字 A 匹配字符串开始 Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串 z 匹配字符串结

    2024年02月09日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包