Javascript/Typescript: как определить действительные контакты и номера телефонов в приложении Android

В моем приложении для Android я хотел бы отобразить список контактов и указать, находятся ли они в сети моего приложения или нет. Однако я не хочу включать все нежелательные контакты (например, бесплатные номера, номера для проверки баланса данных и т. Д.). Я хотел бы отображать только действительные "контакты". Если возможно, я бы хотел отображать только пользователей смартфонов. Как мне это сделать?

В настоящее время я отфильтровываю эти нежелательные контакты, используя несколько правил, таких как: 1) Если номер начинается с 1-800. 2) Если отформатированный номер не 10-значный

Q1. Есть ли более простой стандартный способ сделать это? Q2. Есть хороший набор правил для реализации этого?

1 ответ

Вы хотите использовать регулярное выражение.

Если вы новичок в RegEx, я бы порекомендовал прочитать их, так как они жизненно важны для большинства веб-приложений.

Если вам не хватает времени, здесь есть огромная библиотека выражений.

Хотя я очень рекомендую научиться писать RegEx.

Некоторые примеры:


/[0-9]+

Будет соответствоватьлюбому символу в диапазоне 0-9, должен быть хотя бы 1 символ.

23823 - matched
9382 - matched
2 - matched
foo - not matched


/\b\d{3}[-.]?\d{3}[-.]?\d{4}\b

Это очень простой североамериканский сопоставитель телефонных номеров

0123456789 - matched
555.123.4567 - matched

Как вы можете видеть, существует много возможностей для сложностей с RegEx - это очень простой RegEx, и он не учитывает все возможные крайние случаи.

Другие вопросы по тегам