PHP 如何用标点符号验证数字


PHP how to validate number with punctuation

我想验证电话号码输入。电话号码应混合使用数字和一些标点符号,例如 -,+ ,( 和 )。

输入没有特定的格式,它可以是

  • 014-455464564
  • +6054-4554
  • (+60)-4554

如何在preg_match中做到这一点?

我想这个是根据你的例子工作的。

$pattern = '/^[0-9_'-'+'(')' ]+$/';
    $val = '014-455464564';
    if (preg_match($pattern, $val))
        echo $val.' TRUE<br />';
    else
        echo $val.' FALSE<br />';
    $val = '+6054-4554';
    if (preg_match($pattern, $val))
        echo $val.' TRUE<br />';
    else
        echo $val.' FALSE<br />';
    $val = '(+60)-4554';
    if (preg_match($pattern, $val))
        echo $val.' TRUE<br />';
    else
        echo $val.' FALSE<br />';
    $val = '(+60)-4554-sss';
    if (preg_match($pattern, $val))
        echo $val.' TRUE<br />';
    else
        echo $val.' FALSE<br />';
    $val = '(+60)-4 554';
    if (preg_match($pattern, $val))
        echo $val.' TRUE<br />';
    else
        echo $val.' FALSE<br />';

另外,您可能还想检查 http://regexlib.com