JS 正则表达式 最全面中英文姓名校验 看这篇就够了 附加逐条解析

本文主要是介绍JS 正则表达式 最全面中英文姓名校验 看这篇就够了 附加逐条解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.身份证上的真实姓名的校验要求:

逐条解析名字校验的正则

  • [\u4e00-\u9fa5]                                             汉字
  • /^ [\u4e00 - \u9fa5] | [a-zA-Z]$/                   输入汉字、字母
  • /^ (? ![·\-_\s])(?!.* [·\-_\s]$) /  4个特殊符号“•”或“_” 或“-”或空格 不可以出现在开头和结尾
  • /^[·\-\s\w\u4e00-\u9fa5]*$/                           汉字与符号的组合
  • !/[0-9]/                                                           不可以出现数字
  • !/[\u4e00-\u9fa5][a-zA-Z]{1}|[a-zA-Z][\u4e00-\u9fa5]{1}/     汉字和字母不可以组合,即没有汉字与字母的组合
  • !/[·_\-\s]{2}/                                                   符号“•”或“_”或“-”不允许挨着
  • !/[\u4e00-\u9fa5]\s[\u4e00-\u9fa5a]/           汉字之间不允许有空格
  • !/[a-z]\s{2,}[a-z]/                                           字母之间只允许有1个空格

常用正则特殊字符的含义:

字符含义
^匹配输入字符串开始的位置
$匹配输入字符串结尾的位置
*匹配前一个表达式0次或者多次,等价于{0,}
{n,}n是正整数,匹配前一个至少出现了n次
[0-9]匹配0-9之间的数字
\d匹配一个数字,等价于[0-9]

\D

匹配一个非数字,等价于[^0-9]
[a-zA-Z]匹配 a-z 之间的字母
\w匹配数字、字母、下划线,等价于[A-Za-z0-9_]
\W匹配非数字、字母、下划线,等价于[^A-Za-z0-9]
\s匹配一个空白字符
\b匹配一个单词边界,即单词和空格间的位置,例如匹配ing结尾单词 ing\b
?匹配前面的子表达式0次或者1次

元字符:

元字符\d
\w

区间:

区间[0-9]
[A-Z]

限定符:

限定符*
{n,}

用“元字符+区间+限定符”编写一条正则:

?匹配7位数的QQ邮箱

[0-9]{7}@qq.com

 

普通字符的转义:

比如   “/”    “.”     “(”     “)”  是正则里的特殊字符,那么在需要匹配的内容是这些正则里的特殊字符时需要用转义符  “\”  进行转义:

?匹配域名https://www.csdn.net

https:\/\/www\.csdn\.net

 

【tips】

正则中的特殊字符的含义可参考MDN官网:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

推荐一个好用的在线正则工具:https://tool.lu/regex/(可生成各种语言的正则检测)

推荐一个亲测好用的 vscode 正则插件 “any-rule”,使用方法请参考原作者:https://juejin.im/post/5d245d4151882555300feb77

这篇关于JS 正则表达式 最全面中英文姓名校验 看这篇就够了 附加逐条解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670619

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir