使用tp5的验证器Validate进行数据验证,遇到中文长度时候有麻烦了,因为1个中文的长度是3的
要验证长度最大为6,但是输入3个中文就不行了。求解
一个中文长度是2吧
utf-8 需要 3 Bytes,gbk 需要 2 Bytes,而且中文一般都是用mb_strlen()
https://github.com/top-think/...
TP5 的max验证规则git版本看的是有用mb_strlen来进行字符串长度验证。不知道你用的什么版本
先使用 mb_strlen()这个函数获取到输入框字符串的长度,如果长度大于6就报错,否则就再用正则来验证合法性,比如不能输入特殊字符之类的。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答5.1k 阅读
5 回答7k 阅读✓ 已解决
4 回答3.4k 阅读
4 回答5.4k 阅读
3 回答3k 阅读✓ 已解决
一个中文长度是2吧