In the US, phone numbers can be formatted in many ways. Here are some examples of valid formats for US phone numbers:
1 555-555-5555
1 (555) 555-5555
1(555)555-5555
1 555 555 5555
5555555555
555-555-5555
(555)555-5555
Note that the area code is required. Also, if the country code is provided, you must confirm that the country code is 1.
Objective: Build an app that is functionally similar to https://telephone-number-validator.freecodecamp.rocks.
User Stories:
- You should have an
inputelement with anidof"user-input". - You should have a
buttonelement with anidof"check-btn". - You should have a
buttonelement with anidof"clear-btn". - You should have a
div,spanorpelement with anidof"results-div". - When you click on the
#check-btnelement without entering a value into the#user-inputelement, an alert should appear with the text"Please provide a phone number". - When you click on the
#clear-btnelement, the content within the#results-divelement should be removed. - When the
#user-inputelement contains1 555-555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 1 555-555-5555". - When the
#user-inputelement contains1 (555) 555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 1 (555) 555-5555". - When the
#user-inputelement contains5555555555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 5555555555". - When the
#user-inputelement contains555-555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 555-555-5555". - When the
#user-inputelement contains(555)555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: (555)555-5555". - When the
#user-inputelement contains1(555)555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 1(555)555-5555". - When the
#user-inputelement contains555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 555-5555". - When the
#user-inputelement contains5555555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 5555555". - When the
#user-inputelement contains1 555)555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 1 555)555-5555". - When the
#user-inputelement contains1 555 555 5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 1 555 555 5555". - When the
#user-inputelement contains1 456 789 4444and the#check-btnelement is clicked, the#results-divelement should contain the text"Valid US number: 1 456 789 4444". - When
#user-inputcontains123**&!!asdf#and#check-btnis clicked,#results-divshould contain the text"Invalid US number: 123**&!!asdf#". - When the
#user-inputelement contains55555555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 55555555". - When the
#user-inputelement contains(6054756961)and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: (6054756961)". - When the
#user-inputelement contains2 (757) 622-7382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 2 (757) 622-7382". - When the
#user-inputelement contains0 (757) 622-7382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 0 (757) 622-7382". - When the
#user-inputelement contains-1 (757) 622-7382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: -1 (757) 622-7382". - When the
#user-inputelement contains2 757 622-7382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 2 757 622-7382". - When the
#user-inputelement contains10 (757) 622-7382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 10 (757) 622-7382". - When the
#user-inputelement contains27576227382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 27576227382". - When the
#user-inputelement contains(275)76227382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: (275)76227382". - When the
#user-inputelement contains2(757)6227382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 2(757)6227382". - When the
#user-inputelement contains2(757)622-7382and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 2(757)622-7382". - When the
#user-inputelement contains555)-555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 555)-555-5555". - When the
#user-inputelement contains(555-555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: (555-555-5555". - When
#user-inputcontains(555)5(55?)-5555and#check-btnis clicked,#results-divshould contain the text"Invalid US number: (555)5(55?)-5555". - When the
#user-inputelement contains55 55-55-555-5and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 55 55-55-555-5". - When the
#user-inputelement contains11 555-555-5555and the#check-btnelement is clicked, the#results-divelement should contain the text"Invalid US number: 11 555-555-5555".
Fulfill the user stories and pass all the tests below to complete this project. Give it your own personal style. Happy Coding!
1. You should have an input element with an id of "user-input".
2. You should have a button element with an id of "check-btn".
3. You should have a button element with an id of "clear-btn".
4. You should have a div, span, or p element with an id of "results-div".
5. When you click on the #check-btn element without entering a value into the #user-input element, an alert should appear with the text "Please provide a phone number".
6. When you click on the #clear-btn element, the content within the #results-div element should be removed.
7. When the #user-input element contains 1 555-555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 1 555-555-5555".
8. When the #user-input element contains 1 (555) 555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 1 (555) 555-5555".
9. When the #user-input element contains 5555555555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 5555555555".
10. When the #user-input element contains 555-555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 555-555-5555".
11. When the #user-input element contains (555)555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: (555)555-5555".
12. When the #user-input element contains 1(555)555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 1(555)555-5555".
13. When the #user-input element contains 555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 555-5555".
14. When the #user-input element contains 5555555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 5555555".
15. When the #user-input element contains 1 555)555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 1 555)555-5555".
16. When the #user-input element contains 1 555 555 5555 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 1 555 555 5555".
17. When the #user-input element contains 1 456 789 4444 and the #check-btn element is clicked, the #results-div element should contain the text "Valid US number: 1 456 789 4444".
18. When #user-input contains 123**&!!asdf# and #check-btn is clicked, #results-div should contain the text "Invalid US number: 123**&!!asdf#".
19. When the #user-input element contains 55555555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 55555555".
20. When the #user-input element contains (6054756961) and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: (6054756961)".
21. When the #user-input element contains 2 (757) 622-7382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 2 (757) 622-7382".
22. When the #user-input element contains 0 (757) 622-7382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 0 (757) 622-7382".
23. When the #user-input element contains -1 (757) 622-7382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: -1 (757) 622-7382".
24. When the #user-input element contains 2 757 622-7382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 2 757 622-7382".
25. When the #user-input element contains 10 (757) 622-7382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 10 (757) 622-7382".
26. When the #user-input element contains 27576227382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 27576227382".
27. When the #user-input element contains (275)76227382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: (275)76227382".
28. When the #user-input element contains 2(757)6227382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 2(757)6227382".
29. When the #user-input element contains 2(757)622-7382 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 2(757)622-7382".
30. When the #user-input element contains 555)-555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 555)-555-5555".
31. When the #user-input element contains (555-555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: (555-555-5555".
32. When #user-input contains (555)5(55?)-5555 and #check-btn is clicked, #results-div should contain the text "Invalid US number: (555)5(55?)-5555".
33. When the #user-input element contains 55 55-55-555-5 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 55 55-55-555-5".
34. When the #user-input element contains 11 555-555-5555 and the #check-btn element is clicked, the #results-div element should contain the text "Invalid US number: 11 555-555-5555".