Skip to content

Instantly share code, notes, and snippets.

@ThisIsMissEm
Created February 7, 2010 13:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ThisIsMissEm/297454 to your computer and use it in GitHub Desktop.
Save ThisIsMissEm/297454 to your computer and use it in GitHub Desktop.
function realPhoneNumber(number){
if(/^[0-9\s]+$/gi.test(number)){
return number.replace(/\s+/gi, ""); // no need on a plain number.
}
var lookupHash = {
"a": 2, "b": 2, "c": 2,
"d": 3, "e": 3, "f": 3,
"g": 4, "h": 4, "i": 4,
"j": 5, "k": 5, "l": 5,
"m": 6, "n": 6, "o": 6,
"p": 7, "q": 7, "r": 7, "s": 7,
"t": 8, "u": 8, "v": 8,
"w": 9, "x": 9, "y": 9, "z": 9
},
realNumber = "",
chars = number.split(""),
char, _char;
while(chars.length && (char=chars.shift())){
if(char.match(/\s/g)){
continue;
}
_char = parseInt(char, 10);
if(_char >= 0 && _char < 10){
realNumber += _char;
} else {
realNumber += lookupHash[char.toLowerCase()];
}
}
return realNumber;
}
// Usage:
realPhoneNumber("1800 GET WEBB");
realPhoneNumber("13 11 16");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment