登录注册

18250178511

php识别中文

作者:admin      时间:2017-12-28 13:24:34

我们项目有一个功能是需要匹配中文字符,经过百度搜索等,发现大部分都是通过以下这个正则进行匹配的

/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u

于是我们也采用了这个正则,一直以来也没有发现什么问题,直到有一天一个用户提供了一个地址里面含有?字,这个规则竟无法匹配

于是,经过查阅资料,我发现以上这个正则并没有办法匹配所有的中文,我找到了以下的资料

基本汉字 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
于是只要修改以上规则,添加进其他的一些比较不常用的中文范围,就可以实现匹配中文了,如添加基本汉字补充和扩展A进去,如以下写法


/^[\x{4e00}-\x{9fa5}\x{9fa6}-\x{9fcb}\x{3400}-\x{4db5}A-Za-z0-9]+$/u



发表评论

评论列表

匿名

buy flexeril for sale - <a href="https://rcyclobenzapri.com/">brand flexeril 15mg</a> order inderal 20mg online cheap

2022-06-25 18:37:10

匿名

order accutane pill - <a href="https://ramoxicillinp.com/">order amoxil 250mg sale</a> buy tetracycline 250mg sale

2022-06-24 01:54:52

匿名

provigil uk - <a href="https://rpmodafinil.com/">order generic modafinil 200mg</a> budesonide ca

2022-06-22 08:06:57

匿名

sildenafil 100mg us - <a href="https://rsildenafilr.com/">sildenafil 20 mg</a> cialis next day delivery usa

2022-06-20 20:26:45

匿名

oral cenforce - <a href="https://xezetimibe.com/">order zetia 10mg</a> purchase motilium generic

2022-06-19 10:50:16