add tag with space

This commit is contained in:
vershinin_so 2020-06-05 17:40:45 +03:00
parent 1f452c4ca0
commit f4f2e02a53
4 changed files with 16 additions and 4 deletions

View File

@ -12,7 +12,7 @@ export const ISSUER_TAGS_TRANSLATIONS: TagsTranslations[] = [
{ possibleNames: ['ОГРН', 'OGRN'], translation: 'ОГРН' },
{ possibleNames: ['ОГРНИП', 'OGRNIP'], translation: 'ОГРНИП' },
{ possibleNames: ['СНИЛС', 'SNILS'], translation: 'СНИЛС' },
{ possibleNames: ['ИНН', 'INN'], translation: 'ИНН' },
{ possibleNames: ['ИНН', 'INN', 'ИНН организации'], translation: 'ИНН' },
{ possibleNames: ['E'], translation: 'Email' },
{ possibleNames: ['L'], translation: 'Город' },
];

View File

@ -14,7 +14,7 @@ export const SUBJECT_TAGS_TRANSLATIONS: TagsTranslations[] = [
{ possibleNames: ['ОГРН', 'OGRN'], translation: 'ОГРН' },
{ possibleNames: ['ОГРНИП', 'OGRNIP'], translation: 'ОГРНИП' },
{ possibleNames: ['СНИЛС', 'SNILS'], translation: 'СНИЛС' },
{ possibleNames: ['ИНН', 'INN'], translation: 'ИНН' },
{ possibleNames: ['ИНН', 'INN', 'ИНН организации'], translation: 'ИНН' },
{ possibleNames: ['E'], translation: 'Email' },
{ possibleNames: ['L'], translation: 'Город' },
];

View File

@ -19,6 +19,7 @@ describe('_parseCertInfo', () => {
'UNKNOWN=неизвестный тэг',
'E=email@example.ru',
'INN=007811514257',
'ИНН организации=007811514257',
'OGRN=1127847087885',
'SNILS=11617693460',
].join(', ');
@ -99,6 +100,11 @@ describe('_parseCertInfo', () => {
title: 'ИНН',
isTranslated: true,
},
{
description: '007811514257',
title: 'ИНН',
isTranslated: true,
},
{
description: '1127847087885',
title: 'ОГРН',
@ -123,6 +129,7 @@ describe('_parseCertInfo', () => {
'S=78 Санкт-Петербург',
'C=RU',
'INN=007813317783',
'ИНН организации=007813317783',
'OGRN=1057810150892',
'E=uc@sampokey.ru',
].join(', ');
@ -173,6 +180,11 @@ describe('_parseCertInfo', () => {
title: 'ИНН',
isTranslated: true,
},
{
description: '007813317783',
title: 'ИНН',
isTranslated: true,
},
{
description: '1057810150892',
title: 'ОГРН',

View File

@ -15,11 +15,11 @@ export interface TagTranslation {
* @returns расшифрованная информация по отдельным тэгам
*/
export const _parseCertInfo = (tagsTranslations: TagsTranslations[], rawInfo: string): TagTranslation[] => {
const extractedEntities: string[] = rawInfo.match(/([а-яА-Яa-zA-Z0-9.]+)=(?:("[^"]+?")|(.+?))(?:,|$)/g);
const extractedEntities: string[] = rawInfo.match(/([а-яА-Яa-zA-Z0-9\s.]+)=(?:("[^"]+?")|(.+?))(?:,|$)/g);
if (extractedEntities) {
return extractedEntities.map((group) => {
const segmentsMatch = group.match(/^([а-яА-Яa-zA-Z0-9.]+)=(.+?),?$/);
const segmentsMatch = group.trim().match(/^([а-яА-Яa-zA-Z0-9\s.]+)=(.+?),?$/);
let title = segmentsMatch?.[1];
// Вырезаем лишние кавычки
const description = segmentsMatch?.[2]?.replace(/^"(.*)"/, '$1')?.replace(/"{2}/g, '"');