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

yizhihongxing

针对这篇“最新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日

相关文章

  • 高效率JavaScript编写技巧整理

    高效率JavaScript编写技巧整理 引言 JavaScript 往往是前端工程师最耗费时间的语言之一,因为它不仅需要考虑代码的逻辑,还需要兼顾用户体验,包括运行时间、渲染时间、页面交互等因素。在这里,我们将为大家整理一些高效率 JavaScript 编写技巧,帮您更好地提高编程效率。 1. 常量和变量的命名 程序的可读性取决于变量和函数的命名,因此需要修…

    JavaScript 2023年5月18日
    00
  • 页面只能打开一次Cooike如何实现

    实现页面只能打开一次 Cookie 的方法可以通过在用户访问首次打开页面时,设置一个标记位cookie,如果后续用户再次访问相同的页面,判断是否存在该标记位。 下面给出两条示例来说明如何实现: 示例一:使用JavaScript和Cookie实现页面只能打开一次 JavaScript中可以使用 document.cookie 来获取、设置、删除cookie。我…

    JavaScript 2023年6月11日
    00
  • JavaScript利用Date实现简单的倒计时实例

    下面是JavaScript利用Date实现简单的倒计时的完整攻略: 步骤一:HTML结构 首先,我们需要一个HTML结构,来描述我们这个倒计时的样式和结构。示例代码如下: <div class="countdown"> <div class="countdown__item"> <span…

    JavaScript 2023年5月27日
    00
  • javascript常用正则表达式合集

    JavaScript常用正则表达式合集 正则表达式是一种强大的字符串匹配工具,可以在文本中找到特定的模式并进行替换、删除或提取操作。JavaScript常用正则表达式合集就是收集了一些在JavaScript中常见的正则表达式,让我们能够更加高效地应用正则表达式。 匹配数字 匹配数字的正则表达式可以用于验证表单中的数字输入是否合法,或者将文本中的数字提取出来作…

    JavaScript 2023年5月19日
    00
  • 微信小程序教程系列之页面跳转和参数传递(6)

    我会为您详细讲解 “微信小程序教程系列之页面跳转和参数传递(6)” 的完整攻略。以下是完整步骤: 步骤一:页面跳转 1. 使用navigateTo方法进行跳转 在小程序中,我们可以通过navigateTo方法进行页面跳转。具体方法为: wx.navigateTo({ url: ‘pages/page_name/page_name’ }) 其中,page_na…

    JavaScript 2023年6月11日
    00
  • js 动态添加元素(div、li、img等)及设置属性的方法

    以下是关于js动态添加元素及设置属性的方法的完整攻略: 使用createElement方法创建新元素 使用createElement方法可以在JavaScript中创建一个新的元素节点。该方法需要传入参数表示要创建的元素类型,例如“div”、“img”等。创建完元素后,可以使用appendChild方法将其添加到页面中。 // 创建一个新的div元素 con…

    JavaScript 2023年6月10日
    00
  • JavaScript中的this原理及6种常见使用场景详解

    让我来详细讲解一下“JavaScript中的this原理及6种常见使用场景详解”。 JavaScript中的this原理及6种常见使用场景详解 1. this是什么? 在JavaScript中,this是一个关键字,它指向当前函数的执行上下文。也就是说,this指向当前函数被调用时所在的对象。 2. this的指向 this的指向可以根据执行上下文的不同而不…

    JavaScript 2023年6月11日
    00
  • 深入浅出聊一聊js中的’this’关键字

    当我们在写 JavaScript 代码时,经常会遇到在当前函数作用域内使用 this 关键字的情况。但是,this 关键字在不同的环境下,它所代表的对象不尽相同。在这里,我们将深入浅出的聊一聊 JavaScript 中的 this 关键字,解释它在不同情况下的行为,并提供一些示例说明。 什么是 this 关键字 在 JavaScript 中,this 关键字…

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