| 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 |