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

相关文章

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad