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 Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

全面解析Golang 中的 Gorilla CORS 中间件正确用法

《全面解析Golang中的GorillaCORS中间件正确用法》Golang中使用gorilla/mux路由器配合rs/cors中间件库可以优雅地解决这个问题,然而,很多人刚开始使用时会遇到配... 目录如何让 golang 中的 Gorilla CORS 中间件正确工作一、基础依赖二、错误用法(很多人一开

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

MySQL CTE (Common Table Expressions)示例全解析

《MySQLCTE(CommonTableExpressions)示例全解析》MySQL8.0引入CTE,支持递归查询,可创建临时命名结果集,提升复杂查询的可读性与维护性,适用于层次结构数据处... 目录基本语法CTE 主要特点非递归 CTE简单 CTE 示例多 CTE 示例递归 CTE基本递归 CTE 结

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速