OLD | NEW |
| (Empty) |
1 ///////////////////////////////////////////////////////////////////////////// | |
2 // address_field.cc | |
3 ///////////////////////////////////////////////////////////////////////////// | |
4 const char kAttentionIgnoredRe[] = "attention|attn"; | |
5 const char kRegionIgnoredRe[] = | |
6 "province|region|other" | |
7 // es | |
8 "|provincia" | |
9 // pt-BR, pt-PT | |
10 "|bairro|suburb"; | |
11 const char kCompanyRe[] = | |
12 "company|business|organization|organisation" | |
13 // de-DE | |
14 "|firma|firmenname" | |
15 // es | |
16 "|empresa" | |
17 // fr-FR: |societe|société | |
18 "|societe|soci\xc3\xa9t\xc3\xa9" | |
19 // it-IT | |
20 "|ragione.?sociale" | |
21 // ja-JP: 会社 | |
22 "|\xe4\xbc\x9a\xe7\xa4\xbe" | |
23 // ru: название.?компании | |
24 "|\xd0\xbd\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5.?\xd0" | |
25 "\xba\xd0\xbe\xd0\xbc\xd0\xbf\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb8" | |
26 // zh-CN: 单位|公司 | |
27 "|\xe5\x8d\x95\xe4\xbd\x8d|\xe5\x85\xac\xe5\x8f\xb8" | |
28 // ko-KR: 회사|직장 | |
29 "|\xed\x9a\x8c\xec\x82\xac|\xec\xa7\x81\xec\x9e\xa5"; | |
30 const char kAddressLine1Re[] = | |
31 "address.*line|address1|addr1|street" | |
32 // de-DE: |strasse|straße|hausnummer|housenumber | |
33 "|strasse|stra\xc3\x9f""e|hausnummer|housenumber" | |
34 // en-GB | |
35 "|house.?name" | |
36 // es: |direccion|dirección | |
37 "|direccion|direcci\xc3\xb3n" | |
38 // fr-FR | |
39 "|adresse" | |
40 // it-IT | |
41 "|indirizzo" | |
42 // ja-JP: 住所1 | |
43 "|\xe4\xbd\x8f\xe6\x89\x80""1" | |
44 // pt-BR, pt-PT: morada|endereço | |
45 "|morada|endere\xc3\xa7o" | |
46 // ru: Адрес | |
47 "|\xd0\x90\xd0\xb4\xd1\x80\xd0\xb5\xd1\x81" | |
48 // zh-CN: 地址 | |
49 "|\xe5\x9c\xb0\xe5\x9d\x80" | |
50 // ko-KR: 주소.?1 | |
51 "|\xec\xa3\xbc\xec\x86\x8c.?1"; | |
52 const char kAddressLine1LabelRe[] = | |
53 "address" | |
54 // fr-FR: |adresse | |
55 "|adresse" | |
56 // it-IT: |indirizzo | |
57 "|indirizzo" | |
58 // ja-JP: |住所 | |
59 "|\xe4\xbd\x8f\xe6\x89\x80" | |
60 // zh-CN: |地址 | |
61 "|\xe5\x9c\xb0\xe5\x9d\x80" | |
62 // ko-KR: |주소 | |
63 "|\xec\xa3\xbc\xec\x86\x8c"; | |
64 const char kAddressLine2Re[] = | |
65 "address.*line2|address2|addr2|street|suite|unit" | |
66 // de-DE: |adresszusatz|ergänzende.?angaben | |
67 "|adresszusatz|erg\xc3\xa4nzende.?angaben" | |
68 // es: |direccion2|colonia|adicional | |
69 "|direccion2|colonia|adicional" | |
70 // fr-FR: |addresssuppl|complementnom|appartement | |
71 "|addresssuppl|complementnom|appartement" | |
72 // it-IT: |indirizzo2 | |
73 "|indirizzo2" | |
74 // ja-JP: |住所2 | |
75 "|\xe4\xbd\x8f\xe6\x89\x80""2" | |
76 // pt-BR, pt-PT: |complemento|addrcomplement | |
77 "|complemento|addrcomplement" | |
78 // ru: |Улица | |
79 "|\xd0\xa3\xd0\xbb\xd0\xb8\xd1\x86\xd0\xb0" | |
80 // zh-CN: |地址2 | |
81 "|\xe5\x9c\xb0\xe5\x9d\x80""2" | |
82 // ko-KR: |주소.?2 | |
83 "|\xec\xa3\xbc\xec\x86\x8c.?2"; | |
84 const char kAddressLine2LabelRe[] = | |
85 "address" | |
86 // fr-FR: |adresse | |
87 "|adresse" | |
88 // it-IT: |indirizzo | |
89 "|indirizzo" | |
90 // zh-CN: |地址 | |
91 "|\xe5\x9c\xb0\xe5\x9d\x80" | |
92 // ko-KR: |주소 | |
93 "|\xec\xa3\xbc\xec\x86\x8c"; | |
94 const char kAddressLine3Re[] = | |
95 "address.*line3|address3|addr3|street|line3" | |
96 // es: |municipio | |
97 "|municipio" | |
98 // fr-FR: |batiment|residence | |
99 "|batiment|residence" | |
100 // it-IT: |indirizzo3 | |
101 "|indirizzo3"; | |
102 const char kCountryRe[] = | |
103 "country|countries|location" | |
104 // es: |país|pais | |
105 "|pa\xc3\xads|pais" | |
106 // ja-JP: |国 | |
107 "|\xe5\x9b\xbd" | |
108 // zh-CN: |国家 | |
109 "|\xe5\x9b\xbd\xe5\xae\xb6" | |
110 // ko-KR: |국가|나라 | |
111 "|\xea\xb5\xad\xea\xb0\x80|\xeb\x82\x98\xeb\x9d\xbc"; | |
112 const char kZipCodeRe[] = | |
113 "zip|postal|post.*code|pcode|^1z$" | |
114 // de-DE: |postleitzahl | |
115 "|postleitzahl" | |
116 // es: |\bcp\b | |
117 "|\\bcp\\b" | |
118 // fr-FR: |\bcdp\b | |
119 "|\\bcdp\\b" | |
120 // it-IT: |\bcap\b | |
121 "|\\bcap\\b" | |
122 // ja-JP: |郵便番号 | |
123 "|\xe9\x83\xb5\xe4\xbe\xbf\xe7\x95\xaa\xe5\x8f\xb7" | |
124 // pt-BR, pt-PT: |codigo|codpos|\bcep\b | |
125 "|codigo|codpos|\\bcep\\b" | |
126 // ru: |Почтовый.?Индекс | |
127 "|\xd0\x9f\xd0\xbe\xd1\x87\xd1\x82\xd0\xbe\xd0\xb2\xd1\x8b\xd0\xb9.?\xd0" | |
128 "\x98\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xba\xd1\x81" | |
129 // zh-CN: |邮政编码|邮编 | |
130 "|\xe9\x82\xae\xe6\x94\xbf\xe7\xbc\x96\xe7\xa0\x81|\xe9\x82\xae\xe7\xbc" | |
131 "\x96" | |
132 // zh-TW: |郵遞區號 | |
133 "|\xe9\x83\xb5\xe9\x81\x9e\xe5\x8d\x80\xe8\x99\x9f" | |
134 // ko-KR: |우편.?번호 | |
135 "|\xec\x9a\xb0\xed\x8e\xb8.?\xeb\xb2\x88\xed\x98\xb8"; | |
136 const char kZip4Re[] = | |
137 "zip|^-$|post2" | |
138 // pt-BR, pt-PT: |codpos2 | |
139 "|codpos2"; | |
140 const char kCityRe[] = | |
141 "city|town" | |
142 // de-DE: |\bort\b|stadt | |
143 "|\\bort\\b|stadt" | |
144 // en-AU: |suburb | |
145 "|suburb" | |
146 // es: |ciudad|provincia|localidad|poblacion | |
147 "|ciudad|provincia|localidad|poblacion" | |
148 // fr-FR: |ville|commune | |
149 "|ville|commune" | |
150 // it-IT: |localita | |
151 "|localita" | |
152 // ja-JP: |市区町村 | |
153 "|\xe5\xb8\x82\xe5\x8c\xba\xe7\x94\xba\xe6\x9d\x91" | |
154 // pt-BR, pt-PT: |cidade | |
155 "|cidade" | |
156 // ru: |Город | |
157 "|\xd0\x93\xd0\xbe\xd1\x80\xd0\xbe\xd0\xb4" | |
158 // zh-CN: |市 | |
159 "|\xe5\xb8\x82" | |
160 // zh-TW: |分區 | |
161 "|\xe5\x88\x86\xe5\x8d\x80" | |
162 // ko-KR: |^시[^도·・]|시[·・]?군[·・]?구 | |
163 "|^\xec\x8b\x9c[^\xeb\x8f\x84\xc2\xb7\xe3\x83\xbb]|\xec\x8b\x9c[\xc2\xb7" | |
164 "\xe3\x83\xbb]?\xea\xb5\xb0[\xc2\xb7\xe3\x83\xbb]?\xea\xb5\xac"; | |
165 const char kStateRe[] = | |
166 "(?<!united )state|county|region|province" | |
167 // de-DE: |land | |
168 "|land" | |
169 // en-UK: |county|principality | |
170 "|county|principality" | |
171 // ja-JP: |都道府県 | |
172 "|\xe9\x83\xbd\xe9\x81\x93\xe5\xba\x9c\xe7\x9c\x8c" | |
173 // pt-BR, pt-PT: |estado|provincia | |
174 "|estado|provincia" | |
175 // ru: |область | |
176 "|\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c" | |
177 // zh-CN: |省 | |
178 "|\xe7\x9c\x81" | |
179 // zh-TW: |地區 | |
180 "|\xe5\x9c\xb0\xe5\x8d\x80" | |
181 // ko-KR: |^시[·・]?도 | |
182 "|^\xec\x8b\x9c[\xc2\xb7\xe3\x83\xbb]?\xeb\x8f\x84"; | |
183 const char kAddressTypeSameAsRe[] = "same as"; | |
184 const char kAddressTypeUseMyRe[] = "use my"; | |
185 const char kBillingDesignatorRe[] = "bill"; | |
186 const char kShippingDesignatorRe[] = "ship"; | |
187 | |
188 ///////////////////////////////////////////////////////////////////////////// | |
189 // credit_card_field.cc | |
190 ///////////////////////////////////////////////////////////////////////////// | |
191 const char kNameOnCardRe[] = | |
192 "card.?holder|name.?on.?card|ccname|ccfullname|owner" | |
193 // de-DE: |karteninhaber | |
194 "|karteninhaber" | |
195 // es: |nombre.*tarjeta | |
196 "|nombre.*tarjeta" | |
197 // fr-FR: |nom.*carte | |
198 "|nom.*carte" | |
199 // it-IT: |nome.*cart | |
200 "|nome.*cart" | |
201 // ja-JP: |名前 | |
202 "|\xe5\x90\x8d\xe5\x89\x8d" | |
203 // ru: |Имя.*карты | |
204 "|\xd0\x98\xd0\xbc\xd1\x8f.*\xd0\xba\xd0\xb0\xd1\x80\xd1\x82\xd1\x8b" | |
205 // zh-CN: |信用卡开户名|开户名|持卡人姓名 | |
206 "|\xe4\xbf\xa1\xe7\x94\xa8\xe5\x8d\xa1\xe5\xbc\x80\xe6\x88\xb7\xe5\x90\x8d" | |
207 "|\xe5\xbc\x80\xe6\x88\xb7\xe5\x90\x8d|\xe6\x8c\x81\xe5\x8d\xa1\xe4" | |
208 "\xba\xba\xe5\xa7\x93\xe5\x90\x8d" | |
209 // zh-TW: |持卡人姓名 | |
210 "|\xe6\x8c\x81\xe5\x8d\xa1\xe4\xba\xba\xe5\xa7\x93\xe5\x90\x8d"; | |
211 const char kNameOnCardContextualRe[] = | |
212 "name"; | |
213 const char kCardNumberRe[] = | |
214 "card.?number|card.?#|card.?no|ccnum|acctnum" | |
215 // de-DE: |nummer | |
216 "|nummer" | |
217 // es: |credito|numero|número | |
218 "|credito|numero|n\xc3\xbamero" | |
219 // fr-FR: |numéro | |
220 "|num\xc3\xa9ro" | |
221 // ja-JP: |カード番号 | |
222 "|\xe3\x82\xab\xe3\x83\xbc\xe3\x83\x89\xe7\x95\xaa\xe5\x8f\xb7" | |
223 // ru: |Номер.*карты | |
224 "|\xd0\x9d\xd0\xbe\xd0\xbc\xd0\xb5\xd1\x80.*\xd0\xba\xd0\xb0\xd1\x80\xd1" | |
225 "\x82\xd1\x8b" | |
226 // zh-CN: |信用卡号|信用卡号码 | |
227 "|\xe4\xbf\xa1\xe7\x94\xa8\xe5\x8d\xa1\xe5\x8f\xb7|\xe4\xbf\xa1\xe7\x94" | |
228 "\xa8\xe5\x8d\xa1\xe5\x8f\xb7\xe7\xa0\x81" | |
229 // zh-TW: |信用卡卡號 | |
230 "|\xe4\xbf\xa1\xe7\x94\xa8\xe5\x8d\xa1\xe5\x8d\xa1\xe8\x99\x9f" | |
231 // ko-KR: |카드 | |
232 "|\xec\xb9\xb4\xeb\x93\x9c"; | |
233 const char kCardCvcRe[] = | |
234 "verification|card identification|security code|cvn|cvv|cvc|csc"; | |
235 | |
236 // "Expiration date" is the most common label here, but some pages have | |
237 // "Expires", "exp. date" or "exp. month" and "exp. year". We also look | |
238 // for the field names ccmonth and ccyear, which appear on at least 4 of | |
239 // our test pages. | |
240 | |
241 // On at least one page (The China Shop2.html) we find only the labels | |
242 // "month" and "year". So for now we match these words directly; we'll | |
243 // see if this turns out to be too general. | |
244 | |
245 // Toolbar Bug 51451: indeed, simply matching "month" is too general for | |
246 // https://rps.fidelity.com/ftgw/rps/RtlCust/CreatePIN/Init. | |
247 // Instead, we match only words beginning with "month". | |
248 const char kExpirationMonthRe[] = | |
249 "expir|exp.*mo|exp.*date|ccmonth" | |
250 // de-DE: |gueltig|gültig|monat | |
251 "|gueltig|g\xc3\xbcltig|monat" | |
252 // es: |fecha | |
253 "|fecha" | |
254 // fr-FR: |date.*exp | |
255 "|date.*exp" | |
256 // it-IT: |scadenza | |
257 "|scadenza" | |
258 // ja-JP: |有効期限 | |
259 "|\xe6\x9c\x89\xe5\x8a\xb9\xe6\x9c\x9f\xe9\x99\x90" | |
260 // pt-BR, pt-PT: |validade | |
261 "|validade" | |
262 // ru: |Срок действия карты | |
263 "|\xd0\xa1\xd1\x80\xd0\xbe\xd0\xba \xd0\xb4\xd0\xb5\xd0\xb9\xd1\x81\xd1" | |
264 "\x82\xd0\xb2\xd0\xb8\xd1\x8f \xd0\xba\xd0\xb0\xd1\x80\xd1\x82\xd1\x8b" | |
265 // zh-CN: |月 | |
266 "|\xe6\x9c\x88"; | |
267 const char kExpirationYearRe[] = | |
268 "exp|^/|year" | |
269 // de-DE: |ablaufdatum|gueltig|gültig|yahr | |
270 "|ablaufdatum|gueltig|g\xc3\xbcltig|yahr" | |
271 // es: |fecha | |
272 "|fecha" | |
273 // it-IT: |scadenza | |
274 "|scadenza" | |
275 // ja-JP: |有効期限 | |
276 "|\xe6\x9c\x89\xe5\x8a\xb9\xe6\x9c\x9f\xe9\x99\x90" | |
277 // pt-BR, pt-PT: |validade | |
278 "|validade" | |
279 // ru: |Срок действия карты | |
280 "|\xd0\xa1\xd1\x80\xd0\xbe\xd0\xba \xd0\xb4\xd0\xb5\xd0\xb9\xd1\x81\xd1" | |
281 "\x82\xd0\xb2\xd0\xb8\xd1\x8f \xd0\xba\xd0\xb0\xd1\x80\xd1\x82\xd1\x8b" | |
282 // zh-CN: |年|有效期 | |
283 "|\xe5\xb9\xb4|\xe6\x9c\x89\xe6\x95\x88\xe6\x9c\x9f"; | |
284 | |
285 // This regex is a little bit nasty, but it is simply requiring exactly two | |
286 // adjacent y's. | |
287 const char kExpirationDate2DigitYearRe[] = | |
288 "exp.*date.*[^y]yy([^y]|$)"; | |
289 const char kExpirationDateRe[] = | |
290 "expir|exp.*date" | |
291 // de-DE: |gueltig|gültig | |
292 "|gueltig|g\xc3\xbcltig" | |
293 // es: |fecha | |
294 "|fecha" | |
295 // fr-FR: |date.*exp | |
296 "|date.*exp" | |
297 // it-IT: |scadenza | |
298 "|scadenza" | |
299 // ja-JP: |有効期限 | |
300 "|\xe6\x9c\x89\xe5\x8a\xb9\xe6\x9c\x9f\xe9\x99\x90" | |
301 // pt-BR, pt-PT: |validade | |
302 "|validade" | |
303 // ru: |Срок действия карты | |
304 "|\xd0\xa1\xd1\x80\xd0\xbe\xd0\xba \xd0\xb4\xd0\xb5\xd0\xb9\xd1\x81\xd1" | |
305 "\x82\xd0\xb2\xd0\xb8\xd1\x8f\xd0\xba\xd0\xb0\xd1\x80\xd1\x82\xd1\x8b"; | |
306 const char kCardIgnoredRe[] = | |
307 "^card"; | |
308 | |
309 | |
310 ///////////////////////////////////////////////////////////////////////////// | |
311 // email_field.cc | |
312 ///////////////////////////////////////////////////////////////////////////// | |
313 const char kEmailRe[] = | |
314 "e.?mail" | |
315 // ja-JP: |メールアドレス | |
316 "|\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\xab\xe3\x82\xa2\xe3\x83\x89\xe3\x83\xac" | |
317 "\xe3\x82\xb9" | |
318 // ru: |Электронной.?Почты | |
319 "|\xd0\xad\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xbe\xd0\xbd\xd0\xbd" | |
320 "\xd0\xbe\xd0\xb9.?\xd0\x9f\xd0\xbe\xd1\x87\xd1\x82\xd1\x8b" | |
321 // zh-CN: |邮件|邮箱 | |
322 "|\xe9\x82\xae\xe4\xbb\xb6|\xe9\x82\xae\xe7\xae\xb1" | |
323 // zh-TW: |電郵地址 | |
324 "|\xe9\x9b\xbb\xe9\x83\xb5\xe5\x9c\xb0\xe5\x9d\x80" | |
325 // ko-KR: |(이메일|전자.?우편|[Ee]-?mail)(.?주소)? | |
326 "|(\xec\x9d\xb4\xeb\xa9\x94\xec\x9d\xbc|\xec\xa0\x84\xec\x9e\x90.?\xec\x9a" | |
327 "\xb0\xed\x8e\xb8|[Ee]-?mail)(.?\xec\xa3\xbc\xec\x86\x8c)?"; | |
328 | |
329 | |
330 ///////////////////////////////////////////////////////////////////////////// | |
331 // name_field.cc | |
332 ///////////////////////////////////////////////////////////////////////////// | |
333 const char kNameIgnoredRe[] = | |
334 "user.?name|user.?id|nickname|maiden name|title|prefix|suffix" | |
335 // de-DE: |vollständiger.?name | |
336 "|vollst\xc3\xa4ndiger.?name" | |
337 // zh-CN: |用户名 | |
338 "|\xe7\x94\xa8\xe6\x88\xb7\xe5\x90\x8d" | |
339 // ko-KR: |(사용자.?)?아이디|사용자.?ID | |
340 "|(\xec\x82\xac\xec\x9a\xa9\xec\x9e\x90.?)?\xec\x95\x84\xec\x9d\xb4\xeb" | |
341 "\x94\x94|\xec\x82\xac\xec\x9a\xa9\xec\x9e\x90.?ID"; | |
342 const char kNameRe[] = | |
343 "^name|full.?name|your.?name|customer.?name|firstandlastname|bill.?name" | |
344 "|ship.?name" | |
345 // es: |nombre.*y.*apellidos | |
346 "|nombre.*y.*apellidos" | |
347 // fr-FR: |^nom | |
348 "|^nom" | |
349 // ja-JP: |お名前|氏名 | |
350 "|\xe3\x81\x8a\xe5\x90\x8d\xe5\x89\x8d|\xe6\xb0\x8f\xe5\x90\x8d" | |
351 // pt-BR, pt-PT: |^nome | |
352 "|^nome" | |
353 // zh-CN: |姓名 | |
354 "|\xe5\xa7\x93\xe5\x90\x8d" | |
355 // ko-KR: |성명 | |
356 "|\xec\x84\xb1\xeb\xaa\x85"; | |
357 const char kNameSpecificRe[] = | |
358 "^name" | |
359 // fr-FR: |^nom | |
360 "|^nom" | |
361 // pt-BR, pt-PT: |^nome | |
362 "|^nome"; | |
363 const char kFirstNameRe[] = | |
364 "first.*name|initials|fname|first$" | |
365 // de-DE: |vorname | |
366 "|vorname" | |
367 // es: |nombre | |
368 "|nombre" | |
369 // fr-FR: |forename|prénom|prenom | |
370 "|forename|pr\xc3\xa9nom|prenom" | |
371 // ja-JP: |名 | |
372 "|\xe5\x90\x8d" | |
373 // pt-BR, pt-PT: |nome | |
374 "|nome" | |
375 // ru: |Имя | |
376 "|\xd0\x98\xd0\xbc\xd1\x8f" | |
377 // ko-KR: |이름 | |
378 "|\xec\x9d\xb4\xeb\xa6\x84"; | |
379 const char kMiddleInitialRe[] = "middle.*initial|m\\.i\\.|mi$|\\bmi\\b"; | |
380 const char kMiddleNameRe[] = | |
381 "middle.*name|mname|middle$" | |
382 // es: |apellido.?materno|lastlastname | |
383 "|apellido.?materno|lastlastname"; | |
384 const char kLastNameRe[] = | |
385 "last.*name|lname|surname|last$|secondname" | |
386 // de-DE: |nachname | |
387 "|nachname" | |
388 // es: |apellido | |
389 "|apellido" | |
390 // fr-FR: |famille|^nom | |
391 "|famille|^nom" | |
392 // it-IT: |cognome | |
393 "|cognome" | |
394 // ja-JP: |姓 | |
395 "|\xe5\xa7\x93" | |
396 // pt-BR, pt-PT: |morada|apelidos|surename|sobrenome | |
397 "|morada|apelidos|surename|sobrenome" | |
398 // ru: |Фамилия | |
399 "|\xd0\xa4\xd0\xb0\xd0\xbc\xd0\xb8\xd0\xbb\xd0\xb8\xd1\x8f" | |
400 // ko-KR: |성[^명]? | |
401 "|\xec\x84\xb1[^\xeb\xaa\x85]?"; | |
402 | |
403 ///////////////////////////////////////////////////////////////////////////// | |
404 // phone_field.cc | |
405 ///////////////////////////////////////////////////////////////////////////// | |
406 const char kPhoneRe[] = | |
407 "phone|mobile" | |
408 // de-DE: |telefonnummer | |
409 "|telefonnummer" | |
410 // es: |telefono|teléfono | |
411 "|telefono|tel\xc3\xa9""fono" | |
412 // fr-FR: |telfixe | |
413 "|telfixe" | |
414 // ja-JP: |電話 | |
415 "|\xe9\x9b\xbb\xe8\xa9\xb1" | |
416 // pt-BR, pt-PT: |telefone|telemovel | |
417 "|telefone|telemovel" | |
418 // ru: |телефон | |
419 "|\xd1\x82\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" | |
420 // zh-CN: |电话 | |
421 "|\xe7\x94\xb5\xe8\xaf\x9d" | |
422 // ko-KR: |(전화|핸드폰|휴대폰|휴대전화)(.?번호)? | |
423 "|(\xec\xa0\x84\xed\x99\x94|\xed\x95\xb8\xeb\x93\x9c\xed\x8f\xb0|\xed\x9c" | |
424 "\xb4\xeb\x8c\x80\xed\x8f\xb0|\xed\x9c\xb4\xeb\x8c\x80\xec\xa0\x84\xed" | |
425 "\x99\x94)(.?\xeb\xb2\x88\xed\x98\xb8)?"; | |
426 const char kCountryCodeRe[] = | |
427 "country.*code|ccode|_cc"; | |
428 const char kAreaCodeNotextRe[] = | |
429 "^\\($"; | |
430 const char kAreaCodeRe[] = | |
431 "area.*code|acode|area" | |
432 // ko-KR: |지역.?번호 | |
433 "|\xec\xa7\x80\xec\x97\xad.?\xeb\xb2\x88\xed\x98\xb8"; | |
434 const char kFaxRe[] = | |
435 "fax" | |
436 // fr-FR: |télécopie|telecopie | |
437 "|t\xc3\xa9l\xc3\xa9""copie|telecopie" | |
438 // ja-JP: |ファックス | |
439 "|\xe3\x83\x95\xe3\x82\xa1\xe3\x83\x83\xe3\x82\xaf\xe3\x82\xb9" | |
440 // ru: |факс | |
441 "|\xd1\x84\xd0\xb0\xd0\xba\xd1\x81" | |
442 // zh-CN: |传真 | |
443 "|\xe4\xbc\xa0\xe7\x9c\x9f" | |
444 // zh-TW: |傳真 | |
445 "|\xe5\x82\xb3\xe7\x9c\x9f" | |
446 // ko-KR: |팩스(.?번호)? | |
447 "|\xed\x8c\xa9\xec\x8a\xa4(.?\xeb\xb2\x88\xed\x98\xb8)?"; | |
448 const char kPhonePrefixSeparatorRe[] = | |
449 "^-$|^\\)$"; | |
450 const char kPhoneSuffixSeparatorRe[] = | |
451 "^-$"; | |
452 const char kPhonePrefixRe[] = | |
453 "prefix|exchange" | |
454 // fr-FR: |preselection | |
455 "|preselection" | |
456 // pt-BR, pt-PT: |ddd | |
457 "|ddd"; | |
458 const char kPhoneSuffixRe[] = | |
459 "suffix"; | |
460 const char kPhoneExtensionRe[] = | |
461 "\\bext|ext\\b|extension" | |
462 // pt-BR, pt-PT: |ramal | |
463 "|ramal"; | |
OLD | NEW |