thinkphp5验证器

使用tp5的验证器Validate进行数据验证,遇到中文长度时候有麻烦了,因为1个中文的长度是3的
图片描述

要验证长度最大为6,但是输入3个中文就不行了。求解

阅读 2.5k
4 个回答

一个中文长度是2吧

utf-8 需要 3 Bytes,gbk 需要 2 Bytes,而且中文一般都是用mb_strlen()

先使用 mb_strlen()这个函数获取到输入框字符串的长度,如果长度大于6就报错,否则就再用正则来验证合法性,比如不能输入特殊字符之类的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题