因系统奇怪的规则,需要将一串字串中若有连续数字(大于10位数,通常为手机号码),
必须将其每四码加一个"-"符号后输出
例如原本字串为:“因有急事找您,我的手机为0910123456,请回电。”
输出后变成:“因有急事找您,我的手机为0910-1234-56,请回电。”
由于本人尚属新手,希望能尽量解释的详细一点...有程式码更好Q_Q
烦请高手解答,谢谢!
抓取数字:开头09,并且为10码长、10码全为数字!
作者:
tkdmaf (皮皮快跑)
2014-07-02 16:32:00(1)正规表达式 (2)字串长度计算后插入符号。
作者:
alog (A肉哥)
2014-07-02 16:33:00trim(preg_replace('/(\d{4})/', '$1-', $cellphone), '-');不过通常应该是 0911-000-222 这种格式吧
作者:
alog (A肉哥)
2014-07-02 16:50:00应该要先分析好你的资料有哪几种类型 再设计程式不然光几个规则是无法适用全部$is_correct = preg_match('/^09\d{8}$/', $cellphone);
作者:
alog (A肉哥)
2014-07-02 17:23:00请以php manual 为准另外要移除数字以外的字符你可以这样做 /[^\d]/
用十几行写出来就用十几行 硬要用regex可能一会之后自己都看不懂当初为什么这样写
作者:
alog (A肉哥)
2014-07-02 22:06:00IN/OUT要正确,至于用什么RegExp or 纯粹 String 处理都其次
对,in => out效果正确,code看得懂,就是最好的
作者: up9cloud (九天) 2014-07-03 01:32:00
只取代数字,建议regex。怕以后看无,加些注解就好@@
作者:
hwChang (聪明是天赋 善良是选择)
2014-07-05 16:32:00加油加油,我最近刚好也在学习正规式。