我可以做些什么来全面验证澳大利亚电话号码?我需要这个用于我正在编写的应用程序.您可以假设它是从澳大利亚境内拨打的.我想使用白名单方法.
到目前为止,这是我的规则(删除任何空格后): -
从13开始,长度为6位
从1300开始,长度为10位
从0开始(但不是0011,因为这是国际拨号),长度为10位
以+61开头,后跟9位数字
以(0_)开头,后跟8位数(其中_是1-9)
有什么我错过了吗?
区号是必需的,因为当用户处于不同的状态时,我们可能在一个状态下从我们的传真服务器发送传真.
(我不是问如何使用上述规则制作正则表达式,但是如果这些规则是正确的话).
另请参阅:
英国电话号码
美国电话号码
我刚才做了类似的事情.不可思议的Mahem提到的维基百科页面是一个很好的起点.
截至一年前,我的规则看起来像:
02[3-9]\d{7} NSW/ACT 03[4-9]\d{7} VIC/TAS 07[3-9]\d{7} QLD 08\d{8} SA/NT/WA 04[\d]{8} Moblies 04x[123] = Optus, 04x[456] = Voda, 04x[0789] = Telstra 0500[\d]{6} Find me anywhere server 0550[\d]{6} VoIP 059[\d]{7} Enum 13[\d]{4} Local rate 1300[\d]{6} Local rate 1800[\d]{6} Free call 0198[\d]{2} Data networks (local call anyway I think) 0198[\d]{6} 190[\d]{7} Premium rate