-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathphonetics.js
91 lines (88 loc) · 1.49 KB
/
phonetics.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/**
* Takes a string and returns an array of phonetic descriptions of each letter of the string.
*
* 2011-12-20
*/
var map = {
"a":"alfa",
"b":"bravo",
"c":"charlie",
"d":"delta",
"e":"echo",
"f":"foxtrot",
"g":"golf",
"h":"hotel",
"i":"india",
"j":"juliet",
"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":"xray",
"y":"yankee",
"z":"zulu",
"0":"zero",
"1":"one",
"2":"two",
"3":"three",
"4":"four",
"5":"five",
"6":"six",
"7":"seven",
"8":"eight",
"9":"nine",
" ":"space",
"!":"exclamation",
"\"":"double quote",
"#":"hash",
"$":"dollar",
"%":"percent",
"&":"ampersand",
"'":"single quote",
"(":"left bracket",
")":"right bracket",
"*":"asterisk",
"+":"plus",
",":"comma",
".":"period or dot",
"/":"forward slash",
":":"colon",
";":"semicolon",
"<":"less than",
"=":"equals",
">":"greater than",
"?":"question mark",
"@":"at",
"[":"left square bracket",
"\\":"backslash",
"]":"right square bracket",
"^":"caret",
"_":"underscore",
"`":"backtick or grave accent",
"{":"left curly brace",
"|":"pipe or broken vertical bar",
"}":"right curly brace",
"~":"tilde",
"€":"euro",
"£":"pound",
"-":"dash",
};
function phonetics(str) {
var arr = [];
str = str.toLowerCase();
for (c in str) {
arr.push(map[str[c]]);
}
return arr;
}
if (typeof(exports) !== "undefined") exports.phonetics = phonetics;