echo strlen('18779873531'); //正常显示 11
echo strlen('13605951301 '); //显示 14
这是什么情况? 导致多个服务的手机验证不通过,库入不了。
1
kuddy 2018 年 7 月 12 日
mb_strlen 多字节字符串 utf8 这些了解下?
|
2
cydian 2018 年 7 月 12 日 via Android
空格?
|
3
hahasong 2018 年 7 月 12 日
需要 trim 一下,末尾有控制符
|
4
wslans 2018 年 7 月 12 日
判断前去空格
|
5
qiayue PRO echo json_encode(array($phone)); 看看输出的字符你就知道了
|
6
Light3 2018 年 7 月 12 日
trim 一下啊 兄弟。。。
你自己都不搞搞输入的字段嘛。。 |
7
LeoSocks 2018 年 7 月 12 日 via iPhone
第二个明显多了空格。
|
8
beaconfire 2018 年 7 月 12 日
trim 不一定能处理完,还是正则吧 |
9
yksoft1 2018 年 7 月 12 日
把字符串用正则把第一个只含有数字和'-'的子串分离出来?
|
10
baijunyao 2018 年 7 月 12 日
不是空格; trim 去不掉的;正则可以解决;
$phone = '13605951301 '; echo strlen($phone); //15 echo '<hr>'; echo strlen(preg_replace("/\D/", '', $phone)); // 11 |
11
xbonline 2018 年 7 月 12 日
哈哈哈
|
12
baijunyao 2018 年 7 月 12 日 在各种 IDE 中看不出来;到了 vim 就原形毕露了; |
13
caijihui11 OP |
14
gclove 2018 年 7 月 12 日
@caijihui11 你 14 个字符那里有个额外的编码,16 进制 E2 80 AC
|
15
947211232 2018 年 7 月 13 日
感觉又一个不谷歌的 novice_phper,天啊
|