phonenumber

package
v0.0.0-...-427ddc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2017 License: MIT Imports: 2 Imported by: 0

README

Phone Number

Clean up user-entered phone numbers so that they can be sent SMS messages.

The North American Numbering Plan (NANP) is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. All NANP-countries share the same international country code: 1.

NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as area code, followed by a seven-digit local number. The first three digits of the local number represent the exchange code, followed by the unique four-digit number which is the subscriber number.

The format is usually represented as

(NXX)-NXX-XXXX

where N is any digit from 2 through 9 and X is any digit from 0 through 9.

Your task is to clean up differently formated telephone numbers by removing punctuation and the country code (1) if present.

For example, the inputs

  • +1 (613)-995-0253
  • 613-995-0253
  • 1 613 995 0253
  • 613.995.0253

should all produce the output below from a Number() function.

6139950253

Additionally, a Format() function should produce the output

(613) 995-0253

and an AreaCode() function should output

613

Note: As this exercise only deals with telephone numbers used in NANP-countries, only 1 is considered a valid country code.

Running the tests

To run the tests run the command go test from within the exercise directory.

If the test suite contains benchmarks, you can run these with the -bench flag:

go test -bench .

Keep in mind that each reviewer will run benchmarks on a different machine, with different specs, so the results from these benchmark tests may vary.

Further information

For more detailed information about the Go track, including how to get help if you're having trouble, please visit the exercism.io Go language page.

Source

Event Manager by JumpstartLab http://tutorials.jumpstartlab.com/projects/eventmanager.html

Submitting Incomplete Solutions

It's possible to submit an incomplete solution so you can see how others have completed the exercise.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AreaCode

func AreaCode(s string) (string, error)

AreaCode takes in a phone number string and returns the area code (first three digits)

func Format

func Format(s string) (string, error)

Format takes in a phone number string and returns it as a well formatted human readable string

func Number

func Number(s string) (string, error)

Number takes in a potential phone number string and returns the number without any formatting if it's valid.

* If the phone number is less than 10 digits assume that it is bad number * If the phone number is 10 digits, it is good if 1st digit is not 1 and 3 digit exchange begins with 2..9 * If the phone number is 11 digits and the first number is 1, trim the 1 and use the first 10 digits * If the phone number is 11 digits and the first number is not 1, then it is a bad number * If the phone number is more than 11 digits assume that it is a bad number

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL