preg_match()+ 0-1x和数字

时间:2014-08-01 16:24:16

标签: php regex preg-match

我试图为电话号码制作正则表达式。 RESP。对于此输入:

+420123456 -> valid
123456 -> valid

我希望regexp在哪里可以是一个或零 + 以下1或n 数字

function isTelephoneNumber($telephone) {
    preg_match("~^[+]{0,1}[0-9]+$~", $telephone,$match);
    return (count($match)>0) ? true:false;
}

也尝试了

"~^\+{0,1}[0-9]+$~"
"~^[+]?[0-9]+$~"
"~^\+?[0-9]+$~"

但是+字符有问题。

1 个答案:

答案 0 :(得分:1)

您的+未被转义。这个应该做的工作:

preg_match("/^\+?\d+$/", $telephone,$match);

\+? =>零或一个 +

\d+ =>一个或多个数字