2016-03-17 01:38:35 +00:00
|
|
|
module PhoneNumber (..) where
|
2015-10-13 23:05:05 +00:00
|
|
|
|
|
|
|
import String
|
|
|
|
|
|
|
|
nums = ['1','2','3','4','5','6','7','8','9','0']
|
|
|
|
|
|
|
|
getNumber : String -> String
|
|
|
|
getNumber text = getValidNum (String.filter isDigit text)
|
|
|
|
|
|
|
|
isDigit : Char -> Bool
|
|
|
|
isDigit char = List.any (\n -> n == char) nums
|
|
|
|
|
|
|
|
getValidNum : String -> String
|
|
|
|
getValidNum num =
|
|
|
|
if String.length num == 10 then num else
|
|
|
|
if (String.length num == 11) && (String.left 1 num == "1") then String.dropLeft 1 num else
|
|
|
|
String.repeat 10 "0"
|
|
|
|
|
|
|
|
printPretty : String -> String
|
|
|
|
printPretty input = formatNumber (getNumber input)
|
|
|
|
|
|
|
|
|
|
|
|
formatNumber : String -> String
|
|
|
|
formatNumber input = String.concat ["(", (String.slice 0 3 input), ") ", (String.slice 3 6 input), "-", (String.slice 6 10 input)]
|