Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Php 10-13位(国际)电话号码的正则表达式_Php_Regex_Preg Match - Fatal编程技术网

Php 10-13位(国际)电话号码的正则表达式

Php 10-13位(国际)电话号码的正则表达式,php,regex,preg-match,Php,Regex,Preg Match,我需要将国际电话号码从PHP注册表发送到外部方。外部方对电话号码有以下规定 10-13位 破折号是允许的 这意味着以下数字是正确的 0046701234567瑞典语 604-555-5555 5675555555 调节和检查所有电话号码的最佳和最正确的正则表达式是什么,这样我就可以将它们存储在一个全局数据库中,然后发送给外部方?只需尝试: $input = '604-555-5555'; if (preg_match('/^\d{10,13}$/', str_replace('-', '',

我需要将国际电话号码从PHP注册表发送到外部方。外部方对电话号码有以下规定

10-13位 破折号是允许的 这意味着以下数字是正确的

0046701234567瑞典语 604-555-5555 5675555555 调节和检查所有电话号码的最佳和最正确的正则表达式是什么,这样我就可以将它们存储在一个全局数据库中,然后发送给外部方?

只需尝试:

$input = '604-555-5555';

if (preg_match('/^\d{10,13}$/', str_replace('-', '', $input))) {
  // valid
}

到目前为止,你尝试了什么?有时答案是如此明显,以至于你为问这个问题而感到羞耻。@Hidde如果你觉得我的答案有帮助,记得用左边的粗体字来接受它。@CodeJockey问题-我无法接受答案,因为Stackoverflow有接受答案的时间限制@hsz。现在就完成。还有@CodeJockey,对没有声誉的新用户有点信心:-是的,我有,但很基本。我从hsz和m42中学到了一些新东西:它将与123456789相匹配------
<?php 
  $input = '604-555-5555';  
  if (preg_match('/[\d-]{10,13}+/', $input, $r) ) {
    // valid
    foreach($r as $e){echo $e;}do formatting      
  } 
?>