で Android が提供する正規表現と電話番号を照合してみましたPatterns.Phone
。これは、電話番号ではない多くのものと一致します。また、以下を使用してみました:
(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?
ただし、すべての入力に対してテストが成功していないことがわかりました。正規表現を使用して次の入力を検証したいと思います。
67450450
+9144-27444444
27444444
27470570
+12142261347
+61406366180
0891 2577456
2577456
+91 9550461668
9550461668
03-1234567
1860 425 3330
基本的にここでサポートされている任意のフォーマット: WTND