default
menu home
图标库 注册 登录 favorite_border message help_outline
在线笔记 - 人性化网络收藏夹

更全面匹配UTF-8中文汉字的正则表达式

style分类标签: 全部 CSS html javascript php/other IT
by: fanshome  2023-05-19 07:57(UTC)

网上搜索得到的匹配汉字的正则表达式有一部分并不全面,只匹配了Unicode字符集中\u4E00-\u9FA5范围,并不包含\uF900-\uFA2D这些后期添加的拾遗补缺的、生冷僻的中文字符。而有时候我们需要能比较全面的匹配所有中文字符,则需要在常用的正则表达式上做一些修改补充。

要注意的是,JavaScript和PHP在匹配Unicode字符时,它们的正则表达方式并不一致,不能直接复制过去使用。

php正则记得要添加“/u”修正符。

php/othercontent_copy复制代码
默认使用UTF-8:

php匹配汉字的正则表达式:
/[\x{4e00}-\x{9fa5}\x{f900}-\x{fa2d}]/u

JavaScript匹配汉字的正则表达式:
[\u4E00-\u9FA5\uF900-\uFA2D]

例如,网站注册用户名,允许汉字、字母、数字和若干特殊字符,可以使用以下正则:
php:
/[\x{4e00}-\x{9fa5}\x{f900}-\x{fa2d}a-zA-Z0-9_@\-\.]{4,20}/u

JavaScript:
[\u4E00-\u9FA5\uF900-\uFA2Da-zA-Z0-9_@\-\.]{4,20}

visibility 1959


- 重度网络用户必备 在线笔记
adimg
logo 发表评论

captcha
请正确填写验证码
取 消