mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-22 07:46:16 -04:00
Tidied up 'Convert to NATO alphabet' operation
This commit is contained in:
parent
0fad891a3a
commit
022ef71d2c
2 changed files with 51 additions and 129 deletions
|
@ -18,8 +18,8 @@ class ConvertToNATOAlphabet extends Operation {
|
|||
|
||||
this.name = "Convert to NATO alphabet";
|
||||
this.module = "Default";
|
||||
this.description = "Convert a text to NATO alphabet.";
|
||||
this.infoURL = "https://en.wikipedia.org/wiki/NATO_phonetic_alphabet";
|
||||
this.description = "Converts characters to their representation in the NATO phonetic alphabet.";
|
||||
this.infoURL = "https://wikipedia.org/wiki/NATO_phonetic_alphabet";
|
||||
this.inputType = "string";
|
||||
this.outputType = "string";
|
||||
this.args = [];
|
||||
|
@ -31,130 +31,52 @@ class ConvertToNATOAlphabet extends Operation {
|
|||
* @returns {string}
|
||||
*/
|
||||
run(input, args) {
|
||||
let result = "";
|
||||
|
||||
const text = input.toUpperCase();
|
||||
|
||||
for (let i = 0; i < text.length; i++) {
|
||||
switch (text.charAt(i)) {
|
||||
case "A":
|
||||
result += "alfa ";
|
||||
break;
|
||||
case "B":
|
||||
result += "bravo ";
|
||||
break;
|
||||
case "C":
|
||||
result += "charlie ";
|
||||
break;
|
||||
case "D":
|
||||
result += "delta ";
|
||||
break;
|
||||
case "E":
|
||||
result += "echo ";
|
||||
break;
|
||||
case "F":
|
||||
result += "foxtrot ";
|
||||
break;
|
||||
case "G":
|
||||
result += "golf ";
|
||||
break;
|
||||
case "H":
|
||||
result += "hotel ";
|
||||
break;
|
||||
case "I":
|
||||
result += "india ";
|
||||
break;
|
||||
case "J":
|
||||
result += "juliett ";
|
||||
break;
|
||||
case "K":
|
||||
result += "kilo ";
|
||||
break;
|
||||
case "L":
|
||||
result += "lima ";
|
||||
break;
|
||||
case "M":
|
||||
result += "mike ";
|
||||
break;
|
||||
case "N":
|
||||
result += "november ";
|
||||
break;
|
||||
case "O":
|
||||
result += "oscar ";
|
||||
break;
|
||||
case "P":
|
||||
result += "papa ";
|
||||
break;
|
||||
case "Q":
|
||||
result += "quebec ";
|
||||
break;
|
||||
case "R":
|
||||
result += "romeo ";
|
||||
break;
|
||||
case "S":
|
||||
result += "sierra ";
|
||||
break;
|
||||
case "T":
|
||||
result += "tango ";
|
||||
break;
|
||||
case "U":
|
||||
result += "uniform ";
|
||||
break;
|
||||
case "V":
|
||||
result += "victor ";
|
||||
break;
|
||||
case "W":
|
||||
result += "whiskey ";
|
||||
break;
|
||||
case "X":
|
||||
result += "xray ";
|
||||
break;
|
||||
case "Y":
|
||||
result += "yankee ";
|
||||
break;
|
||||
case "Z":
|
||||
result += "zulu ";
|
||||
break;
|
||||
case " ":
|
||||
result += " ";
|
||||
break;
|
||||
case "0":
|
||||
result += "zero ";
|
||||
break;
|
||||
case "1":
|
||||
result += "one ";
|
||||
break;
|
||||
case "2":
|
||||
result += "two ";
|
||||
break;
|
||||
case "3":
|
||||
result += "three ";
|
||||
break;
|
||||
case "4":
|
||||
result += "four ";
|
||||
break;
|
||||
case "5":
|
||||
result += "five ";
|
||||
break;
|
||||
case "6":
|
||||
result += "six ";
|
||||
break;
|
||||
case "7":
|
||||
result += "seven ";
|
||||
break;
|
||||
case "8":
|
||||
result += "eight ";
|
||||
break;
|
||||
case "9":
|
||||
result += "nine ";
|
||||
break;
|
||||
default:
|
||||
result += text.charAt(i) + " ";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return input.replace(/[a-z0-9,/.]/ig, letter => {
|
||||
return lookup[letter.toUpperCase()];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const lookup = {
|
||||
"A": "Alfa ",
|
||||
"B": "Bravo ",
|
||||
"C": "Charlie ",
|
||||
"D": "Delta ",
|
||||
"E": "Echo ",
|
||||
"F": "Foxtrot ",
|
||||
"G": "Golf ",
|
||||
"H": "Hotel ",
|
||||
"I": "India ",
|
||||
"J": "Juliett ",
|
||||
"K": "Kilo ",
|
||||
"L": "Lima ",
|
||||
"M": "Mike ",
|
||||
"N": "November ",
|
||||
"O": "Oscar ",
|
||||
"P": "Papa ",
|
||||
"Q": "Quebec ",
|
||||
"R": "Romeo ",
|
||||
"S": "Sierra ",
|
||||
"T": "Tango ",
|
||||
"U": "Uniform ",
|
||||
"V": "Victor ",
|
||||
"W": "Whiskey ",
|
||||
"X": "X-ray ",
|
||||
"Y": "Yankee ",
|
||||
"Z": "Zulu ",
|
||||
"0": "Zero ",
|
||||
"1": "One ",
|
||||
"2": "Two ",
|
||||
"3": "Three ",
|
||||
"4": "Four ",
|
||||
"5": "Five ",
|
||||
"6": "Six ",
|
||||
"7": "Seven ",
|
||||
"8": "Eight ",
|
||||
"9": "Nine ",
|
||||
",": "Comma ",
|
||||
"/": "Fraction bar ",
|
||||
".": "Full stop ",
|
||||
};
|
||||
|
||||
export default ConvertToNATOAlphabet;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue