/** * Soundex in JavaScript * * @example * // returns 'H416' * soundex('Heilbronn'); * * @example * // returns 'L222' * soundex('Lissajous'); * * @example * // returns 'S532' * soundex('Soundex'); * * @param {String} string * @return {String} result */ function soundex(string) { if (!string) return; string = string.toUpperCase(); var result = [string[0]], max_length = 4, current_char, rules = { B: 1, F: 1, P: 1, V: 1, C: 2, G: 2, J: 2, K: 2, Q: 2, S: 2, X: 2, Z: 2, D: 3, T: 3, L: 4, M: 5, N: 5, R: 6 }; for (var i = 1, len = string.length; i < len && result.length < max_length; i++) { current_char = rules[string[i]]; if (current_char && string[i] != string[i - 1]) { result.push(current_char); } } for (var i = 0, len = result.length; i < max_length - len; i++) { result.push(0); } return (result.join('')); }View on GitHub
„Времето е в нас и ние сме във времето, то нас обръща и ние него обръщаме.“ - Васил Левски