【发布时间】:2012-01-01 14:28:44
【问题描述】:
我让用户提交电话号码。对如何输入没有限制。 我需要这个电话号码有两件事;区号(不包括前导 0)和电话号码的其余部分。两者都没有非数字字符。
用户可能进入的场景:
- 0707123456
- 0707-123456
- 0707-12 34 56
- 08-123 456 78
- 08-123 45 67
- 031-123 45 67
- 031-12 34 56
- 0480-12 34 56
- 0480-123 45
- +468 123 456 78
- +46 (0) 8 12 345 67 8
我想得到的结果(两个 NSStrings 或 int 或其他):
用户输入:0707123456
变量 1:70
变量 2:7123456
用户输入:+46 (0) 8 12 345 67 8
变量 1:8
变量 2:12345678
这些是区号:
70, 730, 76, 271, 322, 174, 472, 371, 589, 961, 960, 570, 583, 226, 624, 915, 531, 652, 932, 662, 921, 278, 243, 33 , 142, 661, 456, 693, 914, 912, 431, 571, 295, 586, 552, 653, 942, 534, 271, 381, 471, 171, 246, 16, 413, 223, 346, 515, 23 , 590, 122, 585, 157, 241, 943, 684, 258, 528, 645, 241, 493, 371, 158, 498, 525, 555, 591, 390, 514, 551, 672, 970, 693, 26 , 31, 511, 563, 975, 643, 582, 220, 175, 35, 696, 644, 297, 922, 928, 224, 684, 225, 291, 42, 513, 301, 503, 290, 671, 506 , 650, 495, 36, 663, 345, 591, 611, 451, 42, 491, 415, 413, 253, 247, 971, 621, 647, 36, 916, 923, 480, 505, 454, 294, 586 , 455, 54, 150, 554, 320, 980, 494, 435, 580, 977, 612, 44, 550, 640, 226, 19, 300, 227, 303, 221, 430, 925, 418, 584, 247 , 474, 302, 478, 692, 510, 581, 13, 642, 372, 651, 657, 240, 920, 46, 950, 523, 913, 157, 40, 280, 953, 496, 159, 501, 433 , 530, 142, 553, 250, 141, 392, 524, 563, 499, 587, 223, 930, 11, 176, 918, 512, 481, 155, 380, 622, 297, 454, 250, 304, 479 , 491, 643, 155, 978, 4 35、911、973、623、175、934、457、459、472、924、682、248、224、26、414、416、511、910、222、142、294、500、240、620、952、 8, 951, 290, 152, 433, 526, 670, 695, 60, 565, 220, 418, 585, 680, 325, 687, 246, 564, 533, 253, 225, 382, 293, 270, 121, 456, 504, 502, 293, 60, 477, 304, 417, 691, 560, 16, 486, 345, 325, 140, 410, 520, 156, 954, 292, 506, 522, 613, 321, 90, 18, 143, 393, 156, 123, 281, 512, 340, 383, 125, 940, 492, 933, 151, 495, 498, 981, 976, 322, 521, 935, 370, 490, 21, 470, 411、571、532、690、647、573、474、941、120、476、251、929、431、144、485、295、19、173、660、291、63、292、173、926、927
如何使用 Objective-c 做到这一点?
【问题讨论】:
-
为什么在你的第二个例子中 var2 是 8 位数字?这些都是美国的电话号码吗?
-
不是
+46国家代码 - 不,它们不是美国电话号码 -
好吧,如果您想要世界上所有可能的区号,请准备好编写一个巨大的正则表达式:D
-
正如@CodeJockey 所写,它没有国家代码。我不必拥有所有世界区号,我的应用程序是瑞典应用程序(因此 +46)。
标签: objective-c ios regex phone-number