利用UTF8来限制用户注册名称字数限制
来源:互联网 发布:linux mongbd部署 编辑:程序博客网 时间:2024/04/28 23:20
开始的时候用的是windows的API,代码如下:
string strName = this->m_inputBox->getUserInputStr();
int strSize = strName.size();
//字符计数器
int countWord = 0;
//计算玩家输入名称的字数
for (int i = 0; i < strSize;i++)
{
//判断是汉字还是数字或字母
if (IsDBCSLeadByte(strName.at(i)))
{
countWord++;
i+=2;
}
countWord++;
}
//判断玩家输入名称内容长短
if (countWord < 4 || countWord > 12)
{
this->m_pNameErrLabel->setVisible(true);
this->m_pNameErrLabel->setStringByID(9736);
this->m_bIsCanSetRoleName = false;
return;
}else
{
this->m_pNameErrLabel->setVisible(false);
this->m_bIsCanSetRoleName = true;
}
}
这段代码在windows环境下运行是没有问题的,但是后来在安卓运行时发现IsDBCSLeadByte并不被识别,所以只好用了Utf_8的方法:
string strInput = this->m_inputBox->getUserInputStr();
int strSize = strInput.size();
int countWord = 0;
for (int i = 0; i < strSize;)
{
int nsize = str::utf8_chsize(&strInput[i]);
if (nsize == 3)//汉字
{
i+=3;
countWord+=2;
}
else
{
i++;
countWord++;
}
}
在这里用到了utf8_chsize,感兴趣的同学可以好好研究一下,它的返回值根据传入的类型返回的数值是不一样的,用的时候要仔细。如果有其它更好的方法处理该类问题,欢迎大家多提宝贵想法。
- 利用UTF8来限制用户注册名称字数限制
- 字数限制
- 【JSP页面】提示用户字数限制
- XMPP 用户注册限制解决方案
- UITextView计算字数,限制字数
- 文本框限制字数(asp)
- datagrid字数限制
- 限制textarea字数
- textarea限制字数
- textarea限制字数
- 限制textarea的字数
- 限制文本框的字数
- 限制UITextView中的字数
- 限制textarea的字数
- TextBox字数限制
- js限制文本框字数
- UITextField UITextView 字数限制
- Textarea字数的限制
- MyBatis xml映射配置文件之properties
- Android
- IOS开发-笔记记录-------------持续更新
- .netMVC实现当前页多个数据修改,按钮点击分类别显示
- oracle 如何实现主键id自增,或自动生成
- 利用UTF8来限制用户注册名称字数限制
- 在午睡,手机接连振动,是几个朋友用短信微信问我
- NSNotificationCenter详解
- 插入排序
- 堆栈溢出
- 纹理与材质
- Vim实现批量注释的方法
- (android:windowIsTranslucent)影响(android:windowAnimationStyle)Activity切换动画无效
- UITextView详解