您将使用哪些规则来验证澳大利亚电话号码?

WW.*_*WW. 8 validation phone-number

我可以做些什么来全面验证澳大利亚电话号码?我需要这个用于我正在编写的应用程序.您可以假设它是从澳大利亚境内拨打的.我想使用白名单方法.

到目前为止,这是我的规则(删除任何空格后): -

  1. 从13开始,长度为6位
  2. 从1300开始,长度为10位
  3. 从0开始(但不是0011,因为这是国际拨号),长度为10位
  4. 以+61开头,后跟9位数字
  5. 以(0_)开头,后跟8位数(其中_是1-9)

有什么我错过了吗?

区号是必需的,因为当用户处于不同的状态时,我们可能在一个状态下从我们的传真服务器发送传真.

(我不是问如何使用上述规则制作正则表达式,但是如果这些规则是正确的话).

另请参阅:
英国电话号码
美国电话号码

Mat*_*ewd 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
Run Code Online (Sandbox Code Playgroud)

  • 使用移动号码可移植性,您无法根据移动号码(04 [\ d] {8)来假设运营商. (2认同)

Mat*_*ton 0

我也想删除括号。我仍然偶尔会看到类似“(0212) 34 5678”的电话号码。

008号码还在用吗?1800 怎么样?我认为这是一个类似于当今 1300 的有效前缀。