Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于验证数字的正则表达式_Regex - Fatal编程技术网

Regex 用于验证数字的正则表达式

Regex 用于验证数字的正则表达式,regex,Regex,嗨,我正在创建一个正则表达式,以便: 以02或+612 可以有空格 以02开头的数字总共有10位,不包括空格 以+612开头的数字允许+和11位数字,不包括空格 对于以+612开头的数字,将+61替换为0 目前,我创建了 ^(\+612)\d{8}$ 有人能帮我或建议我如何在正则表达式中添加上述验证吗 如有任何帮助或建议,将不胜感激 提前感谢您需要有一个从两点开始匹配的替换,然后再进行替换: ^ *(?:0 *2|\+ *6 *1 *2)(?: *\d){8} *$ JS代码: if

嗨,我正在创建一个正则表达式,以便:

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

^(\+612)\d{8}$
有人能帮我或建议我如何在正则表达式中添加上述验证吗

如有任何帮助或建议,将不胜感激


提前感谢

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

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

JS代码:

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

试试
^(?:\+61 | 0)(2(?:\s*\d){8}$
,你也可以很容易地替换它。如果在检查后你用
0
替换
+61
,你不能在检查前替换它,只匹配以
02
开头的数字,总共10位吗?