gpt4 book ai didi

php - 统计 ASCII 和 Unicode 混合字符串中的字符数

转载 作者:行者123 更新时间:2023-12-01 22:43:35 25 4
gpt4 key购买 nike

strlen($username);

用户名可以携带ASCII、Unicode或两者。

示例:

Jam123 (ASCII) - 6 个字符
ابت (Unicode) - 3 个字符,但 strlen 返回 6 个字节,因为 unicode 是每个字符 2 个字节。
JamÊ(Unicode 和 ASCII) - 5 个字符(3 个 ASCII 和 2 个 Unicode,尽管我只有一个 Unicode 字符)

用户名在任何情况下都不应超过 25 个字符且不应少于 4 个字符。

我的主要问题是将 Unicode 和 ASCII 混合在一起时,我如何跟踪计数以便条件语句可以确定用户名是否不超过 25 且不小于 4。

if(strlen($username) <= 25 && !(strlen($username) < 4))

unicode 中的 3 个字符将被计为 6 个字节,这会导致麻烦,因为它允许用户拥有 3 个 unicode 字符的用户名,而字符最少应为 4 个。

数字永远是ASCII

最佳答案

使用mb_strlen() .它处理 unicode 字符。

例子:

mb_strlen("Jamت", "UTF-8"); // 4

关于php - 统计 ASCII 和 Unicode 混合字符串中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7296030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com