电话号码输出
回答
<?php
$phone = 31999999;
$formatted_phone = preg_replace("|\b(\d{2})(\d{3})(\d{3})\b|", "$1-$2-$3", $phone);
echo $formatted_phone;
这就是我想到的,可能有更简单的方法,但这似乎最短。然而,它只会接受一个确切的8位数字,没有什么比这更少的了。如果你想要一个不同的模式,你需要准确地指定你的输入。
这很酷,因为如果格式不起作用,它将显示原始号码。你是否应该将'^'和'$'添加到正则表达式中? – Cam 2012-03-25 15:44:26
不,因为下面的方法可以处理“这是一个字符串等等12345678等等”(同样,如果你想在单个字符串中输入几个数字,也可以用'preg_replace_all()替换,但要小心,因为它会带有意外的数字行为长度超过8位) – 2012-03-25 15:47:53
我们可以利用PHP的弱类型的系统,因此,如果号码存储为一个字符串或没有也没关系:
$num = 112223333;
echo substr($num,0,2) . "-" . substr($num, 2, 3) . "-" . substr($num, 4, 4); // 11-222-2333
编辑:按照下面的奥利的评论,虽然它的利息无论$ num是一个字符串还是一个int,这段代码都可以工作,为了清晰起见并避免错误,您应该将$ num存储为一个字符串。
那么,希望OP不会将字符串以外的任何电话号码存储起来。 – 2012-03-25 15:39:55
@OliCharlesworth:这是一个很好的观点 - 我提到它的完整性,因为没有指出格式。我会尽力编辑答案。 – Cam 2012-03-25 15:41:57
感谢您的回答:) – user1286650 2012-03-25 16:01:22
- 1. 电话号码
- 2. MySQL输出掩码(即电话号码,SSN等显示格式)
- 3. 反应本机电话号码输入
- 4. Unix shell用户输入电话号码
- 5. 输入验证电话号码
- 6. 与电话号码
- 7. Duplicate电话号码
- 8. 从电话号码
- 9. 从电话号码
- 10. Regex电话号码
- 11. 来自大量电话号码的电话号码是另一个电话号码的前置号码?
- 12. 电话号码的XSD限制出错
- 13. 电话号码验证码
- 14. 使用电话号码查找电话
- 15. 从电话号码输入栏(PHP)提取号码
- 16. 使用Callkit打电话号码不知道的电话号码
- 17. 问题采摘与电话号码,并比读电话号码
- 18. 如何从文件中检索电话号码,例如输入姓名:输入姓名:chris电话号码:012222222
- 19. 用*号码拨打电话号码
- 20. 电话号码的隐藏号码
- 21. 在手机上点击电话号码时拨打电话号码拨号器
- 22. REG前的电话号码
- 23. 电话号码格式javascript
- 24. 电话号码前缀
- 25. 编辑电话号码
- 26. 日本的电话号码
- 27. NameLookup不拉电话号码
- 28. 获取电话号码
- 29. 电话号码登录
- 30. C++电话号码程序
输入是否总是像这样?输出总是如此吗?你试过什么了? – 2012-03-25 15:31:59
是的,它会保持那样 – user1286650 2012-03-25 15:44:56