JSFiddle - React, Tailwind, and code Playground
JavaScript
const content = `4624
An account was successfully logged on.
Subject:
Security ID: NT AUTHORITY\SYSTEM
Account Name: SERVER$
Account Domain: COMPANY
Logon ID: 0x3E7
Logon Information:
Logon Type: 7
Restricted Admin Mode: -
Virtual Account: No
Elevated Token: No
New Logon:
Security ID: COMPANY\Susan
Account Name: SUSAN
Account Domain: COMPANY
Logon ID: 0x3ED0915C
Linked Logon ID: 0x0
Network Account Name: -
Network Account Domain: -
Logon GUID: {7bac704d-8521-0b5e-4548-5c61a3614dc0`;
function getDetails(value) {
var lines = value.split("\n");
var accountName = "- not found -";
var loginType = "- not found -";
var sourceIp = "- not found -";
// store the count of how many you have found while iterating
let accountsFound = 0;
lines.forEach(function(line) {
// just split each line on the : and trim each part to avoid all the substrings
let key, value;
[key, value] = line.trim().split(':');
if (key !== undefined) {
key = key.trim();
}
if (value !== undefined) {
value = value.trim();
}
// console.log(key, value);
if (key === "Logon Type") {
loginType = value;
}
if (key === "Account Name") {
if (accountsFound === 1) {
accountName = value;
}
// keep track of how many you have found so far
accountsFound++;
}
if (key === "Source Network Address") {
sourceIp = value;
}
});
return loginType + " " + accountName + " " + sourceIp;
}
console.log(getDetails(content));