鍍金池/ 問(wèn)答/PHP  HTML/ thinkphp5驗(yàn)證器

thinkphp5驗(yàn)證器

使用tp5的驗(yàn)證器Validate進(jìn)行數(shù)據(jù)驗(yàn)證,遇到中文長(zhǎng)度時(shí)候有麻煩了,因?yàn)?個(gè)中文的長(zhǎng)度是3的
圖片描述

要驗(yàn)證長(zhǎng)度最大為6,但是輸入3個(gè)中文就不行了。求解

回答
編輯回答
解夏

https://github.com/top-think/...

TP5 的max驗(yàn)證規(guī)則git版本看的是有用mb_strlen來(lái)進(jìn)行字符串長(zhǎng)度驗(yàn)證。不知道你用的什么版本

2018年9月2日 23:18
編輯回答
澐染

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

2017年4月12日 15:18
編輯回答
舊城人

一個(gè)中文長(zhǎng)度是2吧

2017年12月24日 01:57
編輯回答
情已空

先使用 mb_strlen()這個(gè)函數(shù)獲取到輸入框字符串的長(zhǎng)度,如果長(zhǎng)度大于6就報(bào)錯(cuò),否則就再用正則來(lái)驗(yàn)證合法性,比如不能輸入特殊字符之類的。

2017年6月1日 09:14