最全汉字正则校验:只允许汉字,允许带点,允许拓展汉字,生僻字,比如䶮之类的汉字

这里只讲中文名正则校验,若是需要更全面的校验,请看另一篇博客:

全网最全js前端、后端通用校验中文姓名(可带点·)的方法

还是一贯的风格,一贯的直接,不讲废话,开始:

1:校验纯汉字(长度为2-6位):

/^([\u4e00-\u9fa5]{2,6})$/gi.test('要校验的汉字')

2:校验带点的汉字(需要处理各种点,请看文章开头的博客)

点前后允许2-5位汉字

/^[\u4E00-\u9FA5]{2,5}([\u25CF\u00B7][\u4E00-\u9FA5]{2,5})*$/gi.test('待校验汉字')

 3:带生僻字,比如:䶮(Unicode码:4DAE)

/^[\u9FA6-\u9FCB\u3400-\u4DB5\u4E00-\u9FA5]{2,5}([\u25CF\u00B7][\u9FA6-\u9FCB\u3400-\u4DB5\u4E00-\u9FA5]{2,5})*$/gi.test('待校验汉字');

加生僻字Unicode码之前和之后:

unicode汉字码的范围,一般基本汉字就够了,最多带上拓展A,后面的在平时和人名中不会出现,因为民政局的系统都不一定能打出来。

字符集 字数 Unicode 编码
基本汉字 20902字 4E00-9FA5
基本汉字补充 38字 9FA6-9FCB
扩展A 6582字 3400-4DB5
扩展B 42711字 20000-2A6D6
扩展C 4149字 2A700-2B734
扩展D 222字 2B740-2B81D
康熙部首 214字 2F00-2FD5
部首扩展 115字 2E80-2EF3
兼容汉字 477字 F900-FAD9
兼容扩展 542字 2F800-2FA1D
PUA(GBK)部件 81字 E815-E86F
部件扩展 452字 E400-E5E8
PUA增补 207字 E600-E6CF
汉字笔画 36字 31C0-31E3
汉字结构 12字 2FF0-2FFB
汉语注音 22字 3105-3120
注音扩展 22字 31A0-31BA
1字 3007

上面三种需求,已经可以满足几乎所有的场景了,各位可以根据自己的需要,对上面的正则进行调整,增加汉字范围,或者修改允许的个数。

以上。

猜你喜欢

转载自blog.csdn.net/u013282737/article/details/120512721