Я пытаюсь изменить формат отображения имени, когда отличительное имя имеет формат «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'));


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто так. Это предполагает, что имена всегда разделяются запятой + пробелом и есть знак равенства.
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'));Ссылка: расколоть
Не все имена перечислены таким образом, но это хорошее начало.