回答編集履歴

1

携帯電話番号の書式に対応

2017/04/25 04:54

投稿

think49
think49

スコア18166

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ### 国内の電話番号
13
+ ### 国内の電話番号フォーマット
14
14
 
15
15
 
16
16
 
@@ -20,37 +20,49 @@
20
20
 
21
21
  - [Q2 市外局番・市内局番とはどのようなものですか? - 総務省|電気通信番号の利用・指定|電話番号に関するQ&A](http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/q_and_a.html#q2)
22
22
 
23
+ - [Q5 携帯電話やPHSに電話するには? - 総務省|電気通信番号の利用・指定|電話番号に関するQ&A](http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/q_and_a.html#q5)
24
+
23
25
 
24
26
 
25
27
  ```JavaScript
26
28
 
27
- var targetString = '<tag>0120-111-2222</tag><tag>東京都千代田何処其処1-2-12</tag><tag>03-5253-5111</tag><tag>0120-12-4672</tag><tag>045-876-1386</tag><tag>なにがしか</tag>',
29
+ function findTelNumberAll (string) {
28
30
 
29
- tel = targetString.match(/0\d{1,4}[(-]?\d{1,4}[)-]?\d{4}/g);
31
+ var tel = string.match(/0(?:\d[(-]?\d{4}|(?![789]0)\d{2}[(-]?\d{3}|\d{3}[(-]?\d{2}|\d{4}[(-]?\d|[789]0[(-]?\d{4})[)-]?\d{4}(?!\d)/g);
30
32
 
31
33
 
32
34
 
33
- if (tel) {
35
+ return tel ? tel : [];
34
36
 
35
- tel = tel.reduce(function (array, tel) {
36
-
37
- tel = tel.replace(/[()-]/g, '');
38
-
39
- if (tel.length === 10) {
40
-
41
- array.push(tel);
42
-
43
- }
37
+ }
44
38
 
45
39
 
46
40
 
47
- return array;
41
+ var targetString = ['<tag>東京都千代田何処其処1-2-12</tag>',
48
42
 
49
- }, []);
43
+ '<tag>0120-111-2222</tag>', // 誤
50
44
 
51
- console.log(JSON.stringify(tel)); // ["0352535111","0120124672","0458761386"]
45
+ '<tag>03(4444)5555</tag>', //
52
46
 
47
+ '<tag>0120-12-4567</tag>', // 正
48
+
49
+ '<tag>045-987-6543</tag>', // 正
50
+
51
+ '<tag>01234-5-6789</tag>', // 正
52
+
53
+ '<tag>070-1111-2222</tag>', // 正
54
+
55
+ '<tag>080-1111-2222</tag>', // 正
56
+
57
+ '<tag>090-1111-2222</tag>', // 正
58
+
59
+ '<tag>090-111-2222</tag>', // 誤
60
+
53
- }
61
+ '<tag>なにがしか</tag>'].join();
62
+
63
+
64
+
65
+ console.log(JSON.stringify(findTelNumberAll(targetString))); // ["03(4444)5555","0120-12-4567","045-987-6543","01234-5-6789","070-1111-2222","080-1111-2222","090-1111-2222"]
54
66
 
55
67
  ```
56
68
 
@@ -74,4 +86,12 @@
74
86
 
75
87
 
76
88
 
89
+ ### 更新履歴
90
+
91
+
92
+
93
+ - 2017/04/25 13:54 携帯電話番号の書式に対応
94
+
95
+
96
+
77
97
  Re: KenKimura さん