4.8 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
aff0395860f5d3034dc0bfc9 | Build a Telephone Number Validator | 5 | 16090 | build-a-telephone-number-validator |
--description--
Return true
if the passed string looks like a valid US phone number.
Der Benutzer kann das Formularfeld auf jede beliebige Weise ausfüllen, solange es das Format einer gültigen US-Nummer hat. The following are examples of valid formats for US numbers (refer to the tests below for other variants):
555-555-5555
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 555 555 5555
For this challenge you will be presented with a string such as 800-692-7753
or 8oo-six427676;laskdjf
. Your job is to validate or reject the US phone number based on any combination of the formats provided above. Die Vorwahl ist erforderlich. If the country code is provided, you must confirm that the country code is 1
. Return true
if the string is a valid US phone number; otherwise return false
.
--hints--
telephoneCheck("555-555-5555")
should return a boolean.
assert(typeof telephoneCheck('555-555-5555') === 'boolean');
telephoneCheck("1 555-555-5555")
sollte true
zurückgeben.
assert(telephoneCheck('1 555-555-5555') === true);
telephoneCheck("1 (555) 555-5555")
should return true
.
assert(telephoneCheck('1 (555) 555-5555') === true);
telephoneCheck("5555555555")
should return true
.
assert(telephoneCheck('5555555555') === true);
telephoneCheck("555-555-5555")
should return true
.
assert(telephoneCheck('555-555-5555') === true);
telephoneCheck("(555)555-5555")
should return true
.
assert(telephoneCheck('(555)555-5555') === true);
telephoneCheck("1(555)555-5555")
should return true
.
assert(telephoneCheck('1(555)555-5555') === true);
telephoneCheck("555-5555")
should return false
.
assert(telephoneCheck('555-5555') === false);
telephoneCheck("5555555")
should return false
.
assert(telephoneCheck('5555555') === false);
telephoneCheck("1 555)555-5555")
should return false
.
assert(telephoneCheck('1 555)555-5555') === false);
telephoneCheck("1 555 555 5555")
should return true
.
assert(telephoneCheck('1 555 555 5555') === true);
telephoneCheck("1 456 789 4444")
should return true
.
assert(telephoneCheck('1 456 789 4444') === true);
telephoneCheck("123**&!!asdf#")
should return false
.
assert(telephoneCheck('123**&!!asdf#') === false);
telephoneCheck("55555555")
should return false
.
assert(telephoneCheck('55555555') === false);
telephoneCheck("(6054756961)")
should return false
.
assert(telephoneCheck('(6054756961)') === false);
telephoneCheck("2 (757) 622-7382")
should return false
.
assert(telephoneCheck('2 (757) 622-7382') === false);
telephoneCheck("0 (757) 622-7382")
should return false
.
assert(telephoneCheck('0 (757) 622-7382') === false);
telephoneCheck("-1 (757) 622-7382")
should return false
.
assert(telephoneCheck('-1 (757) 622-7382') === false);
telephoneCheck("2 757 622-7382")
should return false
.
assert(telephoneCheck('2 757 622-7382') === false);
telephoneCheck("10 (757) 622-7382")
should return false
.
assert(telephoneCheck('10 (757) 622-7382') === false);
telephoneCheck("27576227382")
should return false
.
assert(telephoneCheck('27576227382') === false);
telephoneCheck("(275)76227382")
should return false
.
assert(telephoneCheck('(275)76227382') === false);
telephoneCheck("2(757)6227382")
should return false
.
assert(telephoneCheck('2(757)6227382') === false);
telephoneCheck("2(757)622-7382")
should return false
.
assert(telephoneCheck('2(757)622-7382') === false);
telephoneCheck("555)-555-5555")
should return false
.
assert(telephoneCheck('555)-555-5555') === false);
telephoneCheck("(555-555-5555")
should return false
.
assert(telephoneCheck('(555-555-5555') === false);
telephoneCheck("(555)5(55?)-5555")
should return false
.
assert(telephoneCheck('(555)5(55?)-5555') === false);
telephoneCheck("55 55-55-555-5")
should return false
.
assert(telephoneCheck('55 55-55-555-5') === false);
telephoneCheck("11 555-555-5555")
sollte false
zurückgeben.
assert(telephoneCheck('11 555-555-5555') === false);
--seed--
--seed-contents--
function telephoneCheck(str) {
return true;
}
telephoneCheck("555-555-5555");
--solutions--
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");