【发布时间】:2010-09-24 06:18:42
【问题描述】:
如何全面验证澳大利亚电话号码?我正在编写的应用程序需要这个。您可以假设它是从澳大利亚境内拨打的。我想使用白名单方法。
到目前为止,这是我的规则(删除任何空格后):-
- 以 13 开头,长度为 6 位
- 以 1300 开头,长度为 10 位
- 以 0 开头(但不是 0011,因为这是国际拨号),长度为 10 位
- 以 +61 开头,后跟 9 位数字
- 以 (0_) 开头,后跟 8 位数字(其中 _ 是 1-9)
我有什么遗漏的吗?
需要区号,因为当用户处于不同状态时,我们可能会从我们的传真服务器发送传真。
(我不是问如何根据上述规则制作正则表达式,而是询问这些规则是否正确)。
【问题讨论】:
-
如果您不询问如何编程(正则表达式或其他方式,这似乎与本网站无关)
-
这个维基百科页面可能会有所帮助:http://en.wikipedia.org/wiki/%2B61
-
那里,为你解决了这个问题。 :-)
-
从可用性的角度来看,在允许奇怪的其他字符方面要大方。为什么需要平衡括号?如果有人在没有关闭的情况下输错了一个括号,谁在乎!还可以考虑使用破折号或句点来分隔数字组的人。
-
@Andy Dent:我需要实际使用这个号码来发送传真(从传真服务器作为后台作业)。所以,我想尽可能确保输入的数字是好的。