帮忙看看下面代码是否无误
if (mb_strlen($City,'utf-8')<2 or mb_strlen($City,'utf-8')>30)
{
exit("请选择城市!");
}
本意是不让字符串小于2个字符,并且不大于30个字符
这样的写法有误吗? 有更标准的写法吗?请高手指点,非常感谢!
if(!preg_match("/.{2,30}/",$City)) {
exit("请选择城市!");
}
}
exit("请选择城市!");
}
这个是正则表达式的写法,不懂的话建议你学习下正则表达式,开发实用性很高
前后/ 是起始结束符号
. 代表任意字符
{2,30} 前一个内容2次 ~ 30次
追问老兄你这不对啊,一个中文字符还是等于3个字节,直接被卡
追答if (! preg_match ( "/^[\x{4e00}-\x{9fa5}]{2,30}$/u", $city )){}
这个是判断中文的,但是必须要UTF-8
温馨提示:答案为网友推荐,仅供参考