首页 > 编程语言 >#yyds干货盘点#JavaScript正则表达式(手机号码、邮箱、日期)

#yyds干货盘点#JavaScript正则表达式(手机号码、邮箱、日期)

时间:2023-07-31 10:06:34浏览次数:78  
标签:yyds regu JavaScript zA _- 干货 let 邮箱 Z0

JavaScript正则表达式(手机号码、邮箱、日期)

在平时的工作中,经常会遇到一些验证的功能,其中如号码、邮箱、日期之类的验证,但是在平常使用时,直接就抄了一份用,并没有很详细的研究过,所以就在这儿记录了一些常用的表达式,慢慢学习的同时,也分享给大家。

手机号码

由于现在虚拟号码的使用,所以第二位也不似以前的3|4|5|8的固定,所以此处是选择的3-9

let regu = /^1[3-9][0-9]{9}$/

邮箱

对于邮箱,查找了一下资料,发现基本都是名字@@域名的规律,所以根据这个,就可以大概的分成几个类别

1.只允许英文字母、数字、下划线、英文句号、以及中划线组成。

如:mailto:[email protected]

通过名称分析

此处可以分解为英文大小写、数字、下划线、中划线组成,因为是多个,所以尾部需用+号

let regu = /[a-zA-Z0-9_-]+/
通过域名分析

域名格式一般为 . 的格式,如qq.com 、163.com 、sohu.com等,所以可以大致用上方的正则,然后有些 . .**的格式,所以后面要写成(.[a-zA-Z0-9_-]+)+

let regu = /[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+/
最终表达式
let regu = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/
2.名称允许汉字、数字、字母,域名只允许英文

如:张三mailto:[email protected]

中文的正则为[\u4e00-\u9fa5]

通过邮箱格式和上面推导后的结果,可以得出上方邮箱的正则表达式为

let regu = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/

日期时间

通过日期

日期格式为yyyy-MM-dd

年份第一个一般不能为0([1-9]\d{3}),日期分成两种情况,1-9月((0[1-9])和10-12月(1[0-2])量,天数则分成0-9(0[1-9])、10-29(1-2)、30-31(3[0-1])三种情况书写。

let regu =/^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
通过时间

时间格式为hh:mm:ss

hh:每天有24小时,所以可以分成0-19([0-1]\d)和20-24(2[0-3])来写,分钟和秒数则都是1-59秒,所以都写成[0-5]\d的格式

let regu =/^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/
拼接

通过得到上方的正则,拼接起来,就可以得到日期加时间的正则

let regu =/^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(2[0-3]|[0-1]\d):[0-5]\d:[0-5]\d$/

标签:yyds,regu,JavaScript,zA,_-,干货,let,邮箱,Z0
From: https://blog.51cto.com/u_11365839/6905419

相关文章

  • #yyds干货盘点#python 正则表达式 re 模块总结
    使用爬虫爬取网页数据的过程中,需要利用各种工具解析网页中的数据,比如:etree,BeautifulSoup,scrapy 等工具,但是功能最强大的还是正则表达式,下面将对python的re模块方法做一个总结。Python 通过 re 模块提供对正则表达式的支持。使用 re 的一般步骤是:使用 re.compile(正则表......
  • 如何正确理解JavaScript中的函数和方法
    你真的了解JavaScript的函数和方法吗?你知道它们有什么区别吗?你知道它们是如何定义和调用的吗?你知道它们是如何影响this值的吗?如果你对这些问题感到迷茫,那么本文就是为你准备的。本文将从基础开始,详细解释函数和方法的概念、特点、用法和联系,让你彻底弄清楚函数和方法的奥秘。JavaSc......
  • 懒得改变原始对象?JavaScript代理模式教你怎样一步步偷懒!
    前言系列首发于公众号『非同质前端札记』,若不想错过更多精彩内容,请“星标”一下,敬请关注公众号最新消息。懒得改变原始对象?JavaScript代理模式教你怎样一步步偷懒!何为代理模式例如,你想预约一家公司的董事长会面,按照正常流程,你只能通过先联系他的秘书,然后跟他的秘书预约时间,约好时......
  • JavaScript学习 -- 对称加密算法DES
    在现代的互联网时代,数据安全性备受关注。为了保护敏感数据的机密性,对称加密算法是一种常用的方法。在JavaScript中,DES(DataEncryptionStandard)是一种常用的对称加密算法。本篇博客将为您展示如何在JavaScript中使用DES算法进行加密和解密,并提供一个实际的例子。首先,我们需要使用Cr......
  • JavaScript、ECMA、CommonJs、NodeJS、TypeScript的关系
    返回JavaScript发布时间:1995发布公司:Netscape(网景)它是一种高级的解释型编程语言,简称JS它最初的设计目标是改善网页的用户体验。......
  • # yyds干货盘点 # 使用Python统计下桌面某个文件夹下(含多层子文件夹)具体文件的数量(方
    大家好,我是皮皮。一、前言前几天在Python最强王者群【东哥】问了一个Python自动化办公的问题,一起来看看吧。这个是他自己在实际工作中遇到的需求,正好遇到了这个问题,想着用Python来实现下。二、实现过程上一篇文章中已经分享了一个方法,这一篇文章继续分享另外一个方法,由【巭孬嫑勥烎......
  • chrome 翻译功能 与 禁止/拦截JavaScript Disable JavaScript
    在chrome://settings/content/siteDetails?site=中禁止JavaScript再恢复无法使用翻译功能但是在devtools中DisableJavaScript,再取消选中,可以翻译 ......
  • JavaScript学习 -- SM3算法基本原理
    SM3算法是一种由国家密码管理局发布的哈希算法,被广泛用于数字签名和消息认证等应用中。在JavaScript中,我们可以使用第三方库来计算数据的SM3哈希值。本篇文章将介绍SM3算法的基本原理和相关技术,并提供一些实例来演示如何在JavaScript中使用SM3算法。SM3算法基本原理与MD5、SHA-1、S......
  • javascript数据类型详解
    文章和代码已经归档至【Github仓库:https://github.com/timerring/front-end-tutorial】或者公众号【AIShareLab】回复javascript也可获取。数据类型JavaScript是一种弱类型或者说动态语言。不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。varage=10;//数字型v......
  • JavaScript入门基础
    文章和代码已经归档至【Github仓库:<https://github.com/timerring/front-end-tutorial>】或者公众号【AIShareLab】回复javascript也可获取。JavaScript简介布兰登·艾奇(BrendanEich,1961年~),10天完成JavaScript设计。最初命名为LiveScript,后来在与Sun合作之后将其改名为......