开始在网上找了一些匹配中文的表达式,但都是匹配所有中文字符的,包括标点符号和一些特殊中文符号。经过一番网上搜索和自行摸索,终于找到方法仅匹配中文汉字的方法。
在UTF8编码下“\x{4e00}-\x{9fa5}”,即可匹配汉字,具体代码如下:
preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $string)
下面是匹配汉字、英文字母、数字及短划线的代码:
preg_match('/^[a-zA-Z0-9\x{4e00}-\x{9fa5}\-]{1,100}$/u', $string)
长度限定于100字以内。