简体   繁体   English

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

[英]PHP how to validate number with punctuation

I want to validate a phone number input. 我想验证电话号码输入。 The phone numbers should be mix of numeric number and some of the punctuation, like -,+ ,( and ). 电话号码应该是数字和一些标点符号的混合,例如-,+,(和)。

The input don't have specific format, it can be 输入没有特定格式,可以是

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

How can I do that in preg_match? 如何在preg_match中做到这一点?

I guess this one works based on your examples. 我猜这是根据您的示例进行的。

$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 />';

Also you may want to check http://regexlib.com 另外,您可能需要检查http://regexlib.com

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM