最新JS正则表达式验证邮箱和手机号实例(2022)

针对这篇“最新JS正则表达式验证邮箱和手机号实例(2022)”文章,我将提供完整攻略如下:

文章概览

  • 了解文章主题
  • 确定验证目标:邮箱和手机号
  • 设计验证规则:使用正则表达式
  • 实现邮件和手机号码验证

确定验证目标:邮箱和手机号

在阅读这篇文章后,我们了解到验证目标是邮箱和手机号。在开始验证规则设计之前,首先需要了解邮箱和手机号的基本格式。

邮箱格式

一般的邮箱格式通常为:用户名称@域名.com

  • 用户名称仅可使用字母、数字、下划线和短横杠,不能以点号或者@符号开始或结尾。
  • 域名必须是存在的、可解析的域名,通常为.com或者其它常见国际顶级域名。

手机号格式

目前,中国大陆手机号格式为:11位数字,第一位和第二位为13、14、15、16、17、18、19中的任意一个。

设计验证规则:使用正则表达式

接下来,需要设计验证规则,使用正则表达式来进行验证。

邮箱验证规则

邮箱格式比较特殊,但我们可以使用正则表达式来验证是否符合格式要求,例如:

// 邮箱验证
function checkEmail(email: string): boolean {
  const regEmail = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/;
  return regEmail.test(email);
}

在这个正则表达式中,我们可以通过一些特殊的符号来表示匹配规则:

  • /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/
  • ^ 表示匹配字符串的开始;
  • [\w-.]+ 表示匹配任意字母、数字、下划线、短横杠、点号;
  • @ 表示匹配邮箱的“@”符号;
  • ([\w-]+\.){1,2}[a-zA-Z]{2,4} 表示匹配邮箱域名,这里限定了只能有 1 到 2 个“.”,并且最后以“.com”或者其它常见国际顶级域名结尾;
  • $ 表示匹配字符串的结束。

手机号验证规则

手机号比较简单,使用正则表达式来验证,例如:

// 手机号验证
function checkTel(tel: string): boolean {
  const regTel = /^1[3-9]\d{9}$/;
  return regTel.test(tel);
}

在这个正则表达式中,我们可以通过一些特殊的符号来表示匹配规则:

  • /^1[3-9]\d{9}$/
  • ^1 表示以数字 1 开始,由于中国大陆手机号均以 1 开头,因此将其作为必须的条件;
  • [3-9] 表示第二个数字范围为 3-9,因为第二位手机号是规定了的数字范围;
  • \d{9} 表示之后跟随 9 个数字。

实现邮件和手机号码验证

在设计了正则表达式规则之后,可以开始实现验证逻辑。根据上面的正则表达式的规则,写好验证方法即可,例如:

// 邮箱验证和手机号验证均可调用这个validate方法,返回值为boolean类型
function validate(type: string, val: string): boolean {
  if (type === 'email') {
    return checkEmail(val);
  } else if (type === 'tel') {
    return checkTel(val);
  } else {
    return false;
  }
}

// 使用示例1:邮箱验证
const isEmailValid = validate('email', 'example@domain.com');
console.log(isEmailValid); // true

// 使用示例2:手机号验证
const isTelValid = validate('tel', '18888888888');
console.log(isTelValid); // true

以上就是完整的攻略,我们在文章中了解了最新JS正则表达式验证邮箱和手机号实例(2022),并详细讲解了设计规则和实现代码的过程,以及提供了两个示例。希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:最新JS正则表达式验证邮箱和手机号实例(2022) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS实现的简单折叠展开动画效果示例

    下面是JS实现的简单折叠展开动画效果的攻略: 什么是折叠展开动画效果? 折叠展开动画效果是一种常见的页面交互设计,通过点击或者鼠标悬浮事件,展开或折叠相应的内容区域,给用户更好的使用体验。 实现流程 准备HTML结构,在需要折叠展开的区域加入相应的class; 使用CSS定义默认状态和展开状态的样式,并为相应的class设置过渡效果; 编写事件监听函数,在用…

    JavaScript 2023年5月28日
    00
  • JavaScript数组方法大全(推荐)

    JavaScript数组方法大全(推荐)攻略 简介 本文介绍了JavaScript数组的常用方法,并针对每个方法进行详细的解释和示例演示。通过学习本文,读者将能够掌握JavaScript数组的常用操作。 方法列表 concat() every() filter() forEach() indexOf() join() lastIndexOf() map() …

    JavaScript 2023年5月17日
    00
  • layui原生表单验证的实例

    下面我来详细讲解一下“layui原生表单验证的实例”的完整攻略。 简介 layui是一款经典的前端UI框架,提供了丰富的组件和插件,其中包括表单验证组件。通过layui原生的表单验证可实现表单的实时验证、提交前的总体验证等功能。 示例1 假设我们有一个简单的表单,包含了姓名(name)、年龄(age)、邮箱(email)、密码(password)这四个输入项…

    JavaScript 2023年6月10日
    00
  • ES6基础语法之对象介绍

    ES6基础语法之对象介绍 在ES6中,新的语法规范,对象展开操作符、对象方法、计算属性名以及内置Object属性等,在对象的定义与操作中起到了很大的作用。 对象基础 在ES6中,我们可以通过对象字面量的方式来创建一个对象,如下所示: let obj = { name: ‘张三’, age: 18, sex: ‘男’ }; ES6还引入了一个新的关键字let来…

    JavaScript 2023年5月27日
    00
  • js实现日历的简单算法

    下面是“JavaScript实现日历的简单算法”的攻略。 确定日历的显示方式 在进行日历算法之前,我们需要先确定日历的显示方式。一般来说,常用的日历显示方式有两种,一种是以星期为单位的日历(也叫“周历”),另一种是以月份为单位的日历。其中,以月份为单位的日历是比较常见的一种,因此这里我们以月份为单位的日历为例进行讲解。 确定日历的数据结构 在进行日历算法之前…

    JavaScript 2023年5月27日
    00
  • JS实现计算小于非负数n的素数的数量算法示例

    下面是JS实现计算小于非负数n的素数的数量算法示例的攻略: 算法背景 计算小于非负数n的素数的数量是基础的数学问题之一。素数指的是只能被1和自身整除的正整数。在计算中,我们需要找到小于n的所有素数,并统计它们的数量。这是一个经典的算法问题,也是很多编程面试中被提问的问题。 算法原理 本算法使用了朴素的质数判定方法,先将数组中所有数初始化为true,然后从2开…

    JavaScript 2023年5月28日
    00
  • jquery实现的用户注册表单提示操作效果代码分享

    下面是详细的攻略: 什么是jQuery实现的用户注册表单提示操作效果? jQuery实现的用户注册表单提示操作效果就是在用户填写注册表单时,通过jQuery来实现对用户输入进行实时提示的效果。例如,当用户在用户名输入框中输入一些字符时,jQuery可以实现在下方显示一个提示框,告诉用户该用户名是否已经被占用。 实现步骤 引入jQuery库 要使用jQuery…

    JavaScript 2023年6月10日
    00
  • vue electron实现无边框窗口示例详解

    下面是对“Vue Electron实现无边框窗口示例”的详细讲解。 1. 前置条件 在进行本示例的操作前,需要具备以下基本条件: 了解Vue.js框架的基本概念和应用方法; 了解Electron框架的基本概念和应用方法; 熟悉JavaScript、HTML和CSS等基本前端开发技能。 2. 创建Vue项目 可以通过Vue-CLI来快速创建一个Vue项目,在命…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部