首页 > 其他分享 >Web 前端常用正则校验规则

Web 前端常用正则校验规则

时间:2023-05-27 11:13:15浏览次数:42  
标签:表示 Web 01 匹配 数字 正则表达式 校验 正则

Web 前端常用正则校验规则

作为 Web 前端开发,常用的正则校验规则有很多。下面是一些常见的示例:

  1. 校验手机号码

手机号码的正则表达式可以根据不同国家和地区的手机号码格式进行调整。以下是中国大陆的手机号码正则表达式:

const regex = /^1[3456789]\d{9}$/;

在这个示例中,正则表达式 ^1[3456789]\d{9}$ 表示:

  • ^ 表示匹配字符串的开头。
  • 1 表示必须以数字 1 开头。
  • [3456789] 表示第二位必须是 3、4、5、6、7、8 或 9 中的一个。
  • \d{9} 表示后面必须跟着 9 个数字。
  • $ 表示匹配字符串的结尾。
  1. 校验邮箱地址

邮箱地址的正则表达式可以根据不同的邮箱服务提供商进行调整。以下是一个通用的邮箱地址正则表达式:

const regex = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

在这个示例中,正则表达式 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 表示:

  • ^ 表示匹配字符串的开头。
  • \w+ 表示必须以一个或多个字母、数字或下划线开头。
  • ([-+.]\w+)* 表示可以包含一个或多个连字符、加号或点号,后面跟着一个或多个字母、数字或下划线。
  • @ 表示必须包含一个 @ 符号。
  • \w+ 表示必须包含一个或多个字母、数字或下划线。
  • ([-.]\w+)* 表示可以包含一个或多个连字符或点号,后面跟着一个或多个字母、数字或下划线。
  • \. 表示必须包含一个点号。
  • \w+ 表示必须包含一个或多个字母、数字或下划线。
  1. 校验身份证号码

身份证号码的正则表达式可以根据不同的国家和地区进行调整。以下是中国大陆身份证号码的正则表达式:

const regex =
  /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/;

// 身份证号码为15位或18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
// const regex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

在这个示例中,正则表达式 ^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$ 表示:

  • ^ 表示匹配字符串的开头。
  • [1-9] 表示第一位必须是 1 到 9 中的一个。
  • \d{5} 表示后面必须跟着 5 个数字。
  • (19|20) 表示第七到第十位必须是 19 或 20。
  • \d{2} 表示第十一到第十二位必须是一个两位数字。
  • (0[1-9]|1[012]) 表示第十三到第十四位必须是 01 到 12 中的一个。
  • (0[1-9]|[12]\d|3[01]) 表示第十五到第十六位必须是 01 到 31 中的一个。
  • \d{3} 表示第十七到第十九位必须是三个数字。
  • [0-9Xx] 表示最后一位可以是数字或大写字母 X。
  1. 校验密码强度

校验密码强度通常需要考虑密码的长度、字符类型和组合方式等因素。以下是一个简单的密码强度正则表达式,要求密码长度为 6 到 20 个字符,且必须包含字母和数字:

const regex = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$/;

在这个示例中,正则表达式 ^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$ 表示:

  • ^ 表示匹配字符串的开头。
  • (?=.*[0-9]) 表示必须包含至少一个数字。
  • (?=.*[a-zA-Z]) 表示必须包含至少一个字母。
  • ([a-zA-Z0-9]{6,20}) 表示密码长度必须为 6 到 20 个字符,且只能包含字母和数字。
  • $ 表示匹配字符串的结尾。
  1. 校验 URL 地址

校验 URL 地址通常需要考虑 URL 的协议、主机名、端口和路径等部分。以下是一个简单的 URL 校验正则表达式:

const regex = /^(http|https):\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/\S*)?$/;

// const regex =
//   /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;

在这个示例中,正则表达式 ^(http|https):\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/\S*)?$ 表示:

  • ^ 表示匹配字符串的开头。
  • (http|https) 表示必须以 http 或 https 开头。
  • :\/\/ 表示匹配冒号和双斜杠。
  • ([\w-]+\.)+[\w-]+ 表示匹配主机名,必须包含至少一个连字符或字母,后面跟着一个或多个字母、数字或连字符。
  • (:\d+)? 表示匹配可选的端口号,必须以冒号和一个或多个数字结尾。
  • (\/\S*)? 表示匹配可选的路径,必须以斜杠开头,后面可以跟任意非空白字符。
  • $ 表示匹配字符串的结尾。

当然,还有一些其他常用的正则校验规则,例如:

  1. 校验邮政编码

邮政编码的正则表达式可以根据不同的国家和地区进行调整。以下是中国大陆邮政编码的正则表达式:

const regex = /^[1-9]\d{5}$/;

在这个示例中,正则表达式 ^[1-9]\d{5}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [1-9] 表示第一位必须是 1 到 9 中的一个。
  • \d{5} 表示后面必须跟着 5 个数字。
  • $ 表示匹配字符串的结尾。
  1. 校验 IP 地址

IP 地址的正则表达式可以根据不同的 IP 地址格式进行调整。以下是一个简单的 IPv4 地址校验正则表达式:

const regex =
  /^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$/;

在这个示例中,正则表达式 ^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$ 表示:

  • ^ 表示匹配字符串的开头。
  • ([01]?\d{1,2}|2[0-4]\d|25[0-5]) 表示匹配 0 到 255 之间的数字。
  • \. 表示匹配点号。
  • $ 表示匹配字符串的结尾。
  1. 校验护照号码

以下是中国大陆护照号码的正则表达式:

const regex = /^[EeGg]\d{8}$/;

在这个示例中,正则表达式 ^[EeGg]\d{8}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [EeGg] 表示第一位必须是大写字母 E 或 G,或小写字母 e 或 g 中的一个。
  • \d{8} 表示后面必须跟着 8 个数字。
  • $ 表示匹配字符串的结尾。

需要注意的是,以上示例只是常用的正则校验规则之一,实际应用中可能需要根据具体的业务需求进行调整和优化。同时,正则表达式的编写也需要考虑到性能和可读性等方面的因素。

标签:表示,Web,01,匹配,数字,正则表达式,校验,正则
From: https://www.cnblogs.com/yuzhihui/p/17436413.html

相关文章

  • How to Control an External USB Web Camera Using a Raspberry Pi All In One
    HowtoControlanExternalUSBWebCameraUsingaRaspberryPiAllInOne如何使用树莓派控制外接USB网络摄像头USB网络摄像头罗技C270i高清网络摄像头(视频120万像素,照片300万像素)1280x720=>720P1280*720//921600不足100万,90万✅PCh......
  • 混合模式开发之原生App webview与H5交互
    快速实现 混合模式开发之原生Appwebview与H5交互,详情请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12550 效果图如下:  代码如下: #原生appwebview与H5交互实现####HTML代码部分```html<template><viewclass="content"><viewclass="text......
  • Python Web开发:深入剖析Web框架及其实现方式
    1.引言在现代Web应用程序开发中,Python是最受欢迎的编程语言之一。它是一种高级、通用、解释性的语言,被广泛应用于开发Web应用程序、科学计算、数据分析、视觉化和人工智能等领域。Python语言旨在提高开发者的生产力,并让他们以更少的代码实现更多的功能。在本文中,我们将讨论Python......
  • 【web 开发】PHP中的类和对象的理解
    前言面向对象编程的主要优势就是把编程的重心从处理过程转移到了对现实世界实体的表达。这十分符合人们的思维方式和逻辑类(classes)和对象(objects)并不难理解。试想一下,在日常生活中,自然人对事物的认识,一般是由看到的、感受到的实体(比如日常生活中的衣食住行)归纳出来的,或者抽象出它们......
  • 数据类型转换校验核心类---DataBinder,详细讲述一下其运行机制
    下面就是其运行机制的示意图 简单一句话就是把请求中参数信息绑定到目标方法的参数上。数据绑定是参数解析过程中的一部分。SpringMVC通过反射机制对目标处理方法进行解析,将请求消息绑定到处理方法的入参中①数据绑定过程中,获取到请求中的数据后向目标对象进行绑定,那么这个阶......
  • webpack报错处理:The extension in the request is mandatory for it to be fully spe
    完整的报错提示如下:BREAKINGCHANGE:Therequest'./module2'failedtoresolveonlybecauseitwasresolvedasfullyspecified(probablybecausetheoriginisstrictEcmaScriptModule,e.g.amodulewithjavascriptmimetype,a'*.mjs'file,or......
  • python中re正则一些用法及其常用正则表达式
    re.findall(pattern,string[,flags])re.findall(pattern,string[,flags])是Pythonre模块中的函数,用于在字符串中查找所有与正则表达式模式匹配的非重叠子字符串,并将它们作为列表返回。具体参数解释如下:pattern:一个正则表达式模式,用于指定要匹配的模式。string:要在其......
  • webpack4
    webpack4webpack是一种前端资源构建工具,一个静态模块打包器(modulebundler)。在webpack看来,前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。使用初始化package.jsonnpminit下......
  • WebGL几种常用服务图层的制作流程
    当前,越来越多的用户开始使用三维GIS平台SuperMapiClent3DforWebGL,对于新用户来说最常见的两个问题就是:1.为什么打开场景看不到数据?2.为何范例能实现的效果,我的数据就不行了?而造成这两个问题绝大多数的原因是数据处理不当,本文将讲解制作WebGL常用服务图层的流程及注意事项。 ......
  • WebShell 特征分析
    WebShell特征分析作者:HaiCheng@助安社区,关注公众号领取学习路线和资料。WebShell是黑客经常使用的一种恶意脚本,其目的是获得服务器的执行操作权限,常见的webshell编写语言为asp/jsp/php。主要用于网站管理,服务器管理,权限管理等操作。使用方法简单,只需要上传一个代码文件,通过网址访......