6.4 KiB
6.4 KiB
id, title, challengeType, isRequired, forumTopicId, localeTitle
id | title | challengeType | isRequired | forumTopicId | localeTitle |
---|---|---|---|---|---|
aff0395860f5d3034dc0bfc9 | Telephone Number Validator | 5 | true | 16090 | Проверка номера телефона |
Description
true
если переданная строка выглядит как действительный номер телефона в США. Пользователь может заполнить поле формы любым способом, если он имеет формат действительного номера в США. Ниже приведены примеры допустимых форматов для номеров в США (см. Ниже приведенные ниже тесты для других вариантов): 555-555-5555Для этой задачи вам будет представлена строка, такая как
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 555 555 5555
800-692-7753
или 8oo-six427676;laskdjf
. Ваша задача - подтвердить или отклонить телефонный номер США на основе любой комбинации форматов, указанных выше. Код области требуется. Если код страны указан, вы должны подтвердить, что код страны равен 1
. Возвращает true
если строка является действительным номером телефона США; в противном случае верните false
. Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.
Instructions
Tests
tests:
- 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);
Challenge Seed
function telephoneCheck(str) {
// Good luck!
return true;
}
telephoneCheck("555-555-5555");
Solution
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");