2018-10-10 18:03:03 -04:00
---
id: aff0395860f5d3034dc0bfc9
title: Telephone Number Validator
challengeType: 5
isRequired: true
2019-08-28 16:26:13 +03:00
forumTopicId: 16090
2018-10-10 18:03:03 -04:00
localeTitle: Проверка номера телефона
---
## Description
2019-08-28 16:26:13 +03:00
< section id = 'description' >
2020-06-30 01:51:26 -07:00
Возвращает < code > true< / code > если переданная строка выглядит как действительный номер телефона в США. Пользователь может заполнить поле формы любым способом, если он имеет формат действительного номера в США. Ниже приведены примеры допустимых форматов для номеров в США (см. Ниже приведенные ниже тесты для других вариантов): < blockquote > 555-555-5555 < br > (555)555-5555 < br > (555) 555-5555 < br > 555 555 5555 < br > 5555555555 < br > 1 555 555 5555 < / blockquote > Для этой задачи вам будет представлена строка, такая как < code > 800-692-7753< / code > или < code > 8oo-six427676;laskdjf< / code > . Ваша задача - подтвердить или отклонить телефонный номер США на основе любой комбинации форматов, указанных выше. Код области требуется. Если код страны указан, вы должны подтвердить, что код страны равен < code > 1< / code > . Возвращает < code > true< / code > если строка является действительным номером телефона США; в противном случае верните < code > false< / code > . Н е забудьте использовать < a href = "https://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck-coding/19514" target = "_blank" > Read-Search-Ask,< / a > если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.
2019-08-28 16:26:13 +03:00
< / section >
2018-10-10 18:03:03 -04:00
## Instructions
2019-08-28 16:26:13 +03:00
< section id = 'instructions' >
2018-10-10 18:03:03 -04:00
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
2019-08-28 16:26:13 +03:00
- text: < code > telephoneCheck("555-555-5555")</ code > should return a boolean.
testString: assert(typeof telephoneCheck("555-555-5555") === "boolean");
- text: < code > telephoneCheck("1 555-555-5555")</ code > should return true.
testString: assert(telephoneCheck("1 555-555-5555") === true);
- text: < code > telephoneCheck("1 (555) 555-5555")</ code > should return true.
testString: assert(telephoneCheck("1 (555) 555-5555") === true);
- text: < code > telephoneCheck("5555555555")</ code > should return true.
testString: assert(telephoneCheck("5555555555") === true);
- text: < code > telephoneCheck("555-555-5555")</ code > should return true.
testString: assert(telephoneCheck("555-555-5555") === true);
- text: < code > telephoneCheck("(555)555-5555")</ code > should return true.
testString: assert(telephoneCheck("(555)555-5555") === true);
- text: < code > telephoneCheck("1(555)555-5555")</ code > should return true.
testString: assert(telephoneCheck("1(555)555-5555") === true);
- text: < code > telephoneCheck("555-5555")</ code > should return false.
testString: assert(telephoneCheck("555-5555") === false);
- text: < code > telephoneCheck("5555555")</ code > should return false.
testString: assert(telephoneCheck("5555555") === false);
- text: < code > telephoneCheck("1 555)555-5555")</ code > should return false.
testString: assert(telephoneCheck("1 555)555-5555") === false);
- text: < code > telephoneCheck("1 555 555 5555")</ code > should return true.
testString: assert(telephoneCheck("1 555 555 5555") === true);
- text: < code > telephoneCheck("1 456 789 4444")</ code > should return true.
testString: assert(telephoneCheck("1 456 789 4444") === true);
- text: < code > telephoneCheck("123**& !!asdf#")</ code > should return false.
testString: assert(telephoneCheck("123**& !!asdf#") === false);
- text: < code > telephoneCheck("55555555")</ code > should return false.
testString: assert(telephoneCheck("55555555") === false);
- text: < code > telephoneCheck("(6054756961)")</ code > should return false
testString: assert(telephoneCheck("(6054756961)") === false);
- text: < code > telephoneCheck("2 (757) 622-7382")</ code > should return false.
testString: assert(telephoneCheck("2 (757) 622-7382") === false);
- text: < code > telephoneCheck("0 (757) 622-7382")</ code > should return false.
testString: assert(telephoneCheck("0 (757) 622-7382") === false);
- text: < code > telephoneCheck("-1 (757) 622-7382")</ code > should return false
testString: assert(telephoneCheck("-1 (757) 622-7382") === false);
- text: < code > telephoneCheck("2 757 622-7382")</ code > should return false.
testString: assert(telephoneCheck("2 757 622-7382") === false);
- text: < code > telephoneCheck("10 (757) 622-7382")</ code > should return false.
testString: assert(telephoneCheck("10 (757) 622-7382") === false);
- text: < code > telephoneCheck("27576227382")</ code > should return false.
testString: assert(telephoneCheck("27576227382") === false);
- text: < code > telephoneCheck("(275)76227382")</ code > should return false.
testString: assert(telephoneCheck("(275)76227382") === false);
- text: < code > telephoneCheck("2(757)6227382")</ code > should return false.
testString: assert(telephoneCheck("2(757)6227382") === false);
- text: < code > telephoneCheck("2(757)622-7382")</ code > should return false.
testString: assert(telephoneCheck("2(757)622-7382") === false);
- text: < code > telephoneCheck("555)-555-5555")</ code > should return false.
testString: assert(telephoneCheck("555)-555-5555") === false);
- text: < code > telephoneCheck("(555-555-5555")</ code > should return false.
testString: assert(telephoneCheck("(555-555-5555") === false);
- text: < code > telephoneCheck("(555)5(55?)-5555")</ code > should return false.
testString: assert(telephoneCheck("(555)5(55?)-5555") === false);
2018-10-10 18:03:03 -04:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
function telephoneCheck(str) {
// Good luck!
return true;
}
telephoneCheck("555-555-5555");
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
2019-08-28 16:26:13 +03:00
var re = /^([+]?1[\s]?)?((?:[( ](?:[2-9]1[02-9]|[2-9][02-8][0-9] )[)][\s]?)|(?:(?:[2-9]1[02-9]|[2-9][02-8][0-9])[\s.-]?)){1}([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2}[\s.-]?){1}([0-9]{4}){1}$/;
function telephoneCheck(str) {
return re.test(str);
}
telephoneCheck("555-555-5555");
2018-10-10 18:03:03 -04:00
```
2019-08-28 16:26:13 +03:00
2018-10-10 18:03:03 -04:00
< / section >