default
menu home
Icon library Sign up Login favorite_border message help_outline
Online notes - online bookmark

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

styleTags: All 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_copyCopy codes
默认使用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 1958


- for heavy web user Online notes
adimg
logo Post a comment

captcha
Please check the captcha code
Cancel