Javascript изменить формат имени из контейнера AD

Я пытаюсь изменить формат отображения имени, когда отличительное имя имеет формат «CN = Doe \, John», чтобы отображать его как «John Doe». Как я могу изменить этот код, чтобы учесть это?

function changeName(name) {
  if (name.startsWith("CN = ")) {
    if (name.indexOf("CN = ", 3) != -1) {
      name = name.substring(3, name.indexOf('CN=', 3) - 1);
    } else if (name.indexOf("OU = ", 3) != -1) {
      name = name.substring(3, name.indexOf('OU=', 3) - 1);
    }
  } else if (name.startsWith("(null)")) {
    name = "";
  }
  
  return name;
}

console.info(changeName('CN=Doe, John'));
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
0
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто так. Это предполагает, что имена всегда разделяются запятой + пробелом и есть знак равенства.

function changeName(name) {
  if (name.startsWith("CN = ") || name.startsWith("OU = ")) {
    const parts1 = name.split(', ');
    const parts2 = parts1[0].split('=');
    return `${parts1[1]} ${parts2[1]}`;
    
  } else if (name.startsWith("(null)")) {
    return '';
  }
  
  return null;
}

console.info(changeName('CN=Doe\, John'));

Ссылка: расколоть

Не все имена перечислены таким образом, но это хорошее начало.

pystackit 14.12.2018 16:08

Другие вопросы по теме