Как изменить любое из следующих действий, чтобы только числарег бывший телефонный номер
1-(999)-999-9999
1-999-999-9999
1-999-9999999
1(999)-999-9999
1(999)999-9999
я хочу конечный продукт будет 19999999999
Как изменить любое из следующих действий, чтобы только числарег бывший телефонный номер
1-(999)-999-9999
1-999-999-9999
1-999-9999999
1(999)-999-9999
1(999)999-9999
я хочу конечный продукт будет 19999999999
Проще всего было бы лишить все из вашей строки это не числом, а затем посмотреть, если вы в конечном итоге с 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
}
15 цифр для международных – CaffGeek
Да, но я собираюсь в форматах, которые он предоставил. –
попробовать
preg_replace('\D', '', $string);
Это будет отфильтровывать любые цифры.
Вы действительно не нужно регулярное выражение для этого ...
$number = str_replace(array('-', '(', ')'), '', $number);
preg_replace('[\D*]', '', '1-(999)-999-9999');
возможно дубликат [Всеобъемлющий регулярное выражение для проверки номера телефона] (http://stackoverflow.com/questions/123559/a- full-regex-for-phone-number-validation) – JYelton