php判断字符串长度问题

帮忙看看下面代码是否无误if(mb_strlen($City,'utf-8')<2ormb_strlen($City,'utf-8')>30){exit("请选择城市!"... 帮忙看看下面代码是否无误

if (mb_strlen($City,'utf-8')<2 or mb_strlen($City,'utf-8')>30)
{
exit("请选择城市!");
}
本意是不让字符串小于2个字符,并且不大于30个字符

这样的写法有误吗? 有更标准的写法吗?请高手指点,非常感谢!
展开
 我来答
seoyingjie
2015-08-28 · TA获得超过183个赞
知道小有建树答主
回答量:309
采纳率:50%
帮助的人:158万
展开全部
if(!preg_match("/.{2,30}/",$City)) {
    exit("请选择城市!");
}

这个是正则表达式的写法,不懂的话建议你学习下正则表达式,开发实用性很高


前后/ 是起始结束符号

. 代表任意字符

{2,30} 前一个内容2次 ~ 30次

追问
老兄你这不对啊,一个中文字符还是等于3个字节,直接被卡
追答
if (! preg_match ( "/^[\x{4e00}-\x{9fa5}]{2,30}$/u", $city )){

}

这个是判断中文的,但是必须要UTF-8

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式