рег экс номер телефона - PullRequest
1 голос
/ 10 августа 2010

Как мне изменить любое из следующего на просто цифры

1-(999)-999-9999 
1-999-999-9999
1-999-9999999
1(999)-999-9999
1(999)999-9999

я хочу, чтобы конечный продукт был 19999999999

Ответы [ 4 ]

2 голосов
/ 10 августа 2010

try

preg_replace('\D', '', $string);

Это отфильтровывает любые не цифры.

2 голосов
/ 10 августа 2010

Самым простым способом было бы убрать из вашей строки все, что не является числом, а затем посмотреть, не окажется ли у вас 10-значное число (или 11, если вы делаете 1 обязательным):

$string = "1-(999)-999-9999";
$number = preg_replace('/[^0-9]/', "", $string); // results in 19999999999
if (strlen($number) == 11)
{
  // Probably have a phone number
}
0 голосов
/ 10 августа 2010
preg_replace('[\D*]', '', '1-(999)-999-9999');
0 голосов
/ 10 августа 2010

Вам не нужно регулярное выражение для этого ...

$number = str_replace(array('-', '(', ')'), '', $number);
...