strlen($str)是用来检测字符串长度的函数,但是他不能正常检查中文字符串的长度,只能得到字符串的字节数。
strlen(‘哈啰’);// utf8编码返回6
如果我们想知道汉字的个数,就需要用mb_strlen($str)来获取, mb_strlen()函数的第二个参数可以传编码方式,不传时是默认的编码,
mb_strlen(‘哈啰’,’utf-8′);//返回的就是2
对于有的时候,返回的字符串正常是非中文(账户、密码等),异常是中文(错误信息)时,可以使用
strlen($str) == mb_strlen($str)
来区分,相等则不包含中文。当然也可以通过正则来判断是否包含中文
preg_match(
'/^[\x{4e00}-\x{9fa5}]+$/u'
,$str)