正则表达式验证数字

时间:2018-10-03 06:55:15

标签: regex

嗨,我正在创建一个正则表达式,以使其具有:

  • 02+612开头的数字
  • 可以有空格
  • 02开头的数字总共有10位数字(不包括空格)
  • +612开头的数字允许+和11位数字(不包括空格)
  • 对于以+612开头的数字,将+61替换为0

当前,我创建了

^(\+612)\d{8}$

任何人都可以帮助我或建议我如何在正则表达式中添加以上验证。

任何帮助或建议将不胜感激。

预先感谢

1 个答案:

答案 0 :(得分:3)

您需要先从两个点开始匹配,然后再进行替换:

^ *(?:0 *2|\+ *6 *1 *2)(?: *\d){8} *$

Live demo

JS代码:

if (/^ *(?:0 *2|\+ *6 *1 *2)(?: *\d){8} *$/.test(phoneNumber)) {
    phoneNumber = phoneNumber.replace(/^ *\+ *6 *1/, 0);
}