Android 用于匹配所有电话号码的正则表达式
我曾尝试将电话号码与Android在Android 用于匹配所有电话号码的正则表达式,android,regex,phone-number,Android,Regex,Phone Number,我曾尝试将电话号码与Android在模式中提供的正则表达式进行匹配。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]
模式中提供的正则表达式进行匹配。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
基本上这里支持的任何nymber格式:这不是干净/高效的,只是为了匹配您的示例数据:
\b\d{7,10}|\+\d{4}-\d{8}|\+\d{11}|\d{4}\s\d{7}|\+\d{2}\s\d{10}|\d{2}-\d{7}|\d{4}\s\d{3}\s\d{4}\b
Patterna.Phone正则表达式会将地址的6位pin码识别为电话号码
\b\d{7,10}|\+\d{4}-\d{8}|\+\d{11}|\d{4}\s\d{7}|\+\d{2}\s\d{10}|\d{2}-\d{7}|\d{4}\s\d{3}\s\d{4}\b