freeCodeCamp/curriculum/challenges/espanol/02-javascript-algorithms-an.../javascript-algorithms-and-d.../telephone-number-validator.md

4.9 KiB

id title challengeType forumTopicId dashedName
aff0395860f5d3034dc0bfc9 Validador de números telefónicos 5 16090 telephone-number-validator

--description--

Devuelve true si la cadena pasada concuerda con un número de teléfono válido en Estados Unidos.

El usuario puede completar el campo del formulario de la forma que elija, siempre que tenga el formato de un número estadounidense válido. Los siguientes ejemplos son de formatos válidos para números estadounidenses (consulte las pruebas a continuación para otras variantes):

555-555-5555
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 555 555 5555

Para este desafío se te presentará una cadena como 800-692-7753 o 8oo-six427676;laskdjf. Tu trabajo es validar o rechazar el número de teléfono estadounidense basado en cualquier combinación de los formatos proporcionados arriba. El código de área es obligatorio. Si el código de país es proporcionado, debes confirmar que el código de país es 1. Devuelve true si la cadena es un número de teléfono estadounidense valido; de lo contrario devuelve false.

--hints--

telephoneCheck("555-555-5555") debe devolver un booleano.

assert(typeof telephoneCheck('555-555-5555') === 'boolean');

telephoneCheck("1 555-555-5555") debe devolver true.

assert(telephoneCheck('1 555-555-5555') === true);

telephoneCheck("1 (555) 555-5555") debe devolver true.

assert(telephoneCheck('1 (555) 555-5555') === true);

telephoneCheck("5555555555") debe devolver true.

assert(telephoneCheck('5555555555') === true);

telephoneCheck("555-555-5555") debe devolver true.

assert(telephoneCheck('555-555-5555') === true);

telephoneCheck("(555)555-5555") debe devolver true.

assert(telephoneCheck('(555)555-5555') === true);

telephoneCheck("1(555)555-5555") debe devolver true.

assert(telephoneCheck('1(555)555-5555') === true);

telephoneCheck("555-5555") debe devolver false.

assert(telephoneCheck('555-5555') === false);

telephoneCheck("5555555") debe devolver false.

assert(telephoneCheck('5555555') === false);

telephoneCheck("1 555)555-5555") debe devolver false.

assert(telephoneCheck('1 555)555-5555') === false);

telephoneCheck("1 555 555 5555") debe devolver true.

assert(telephoneCheck('1 555 555 5555') === true);

telephoneCheck("1 456 789 4444") debe devolver true.

assert(telephoneCheck('1 456 789 4444') === true);

telephoneCheck("123**&!!asdf#") debe devolver false.

assert(telephoneCheck('123**&!!asdf#') === false);

telephoneCheck("55555555") debe devolver false.

assert(telephoneCheck('55555555') === false);

telephoneCheck("(6054756961)") debe devolver false.

assert(telephoneCheck('(6054756961)') === false);

telephoneCheck("2 (757) 622-7382") debe devolver false.

assert(telephoneCheck('2 (757) 622-7382') === false);

telephoneCheck("0 (757) 622-7382") debe devolver false.

assert(telephoneCheck('0 (757) 622-7382') === false);

telephoneCheck("-1 (757) 622-7382") debe devolver false.

assert(telephoneCheck('-1 (757) 622-7382') === false);

telephoneCheck("2 757 622-7382") debe devolver false.

assert(telephoneCheck('2 757 622-7382') === false);

telephoneCheck("10 (757) 622-7382") debe devolver false.

assert(telephoneCheck('10 (757) 622-7382') === false);

telephoneCheck("27576227382") debe devolver false.

assert(telephoneCheck('27576227382') === false);

telephoneCheck("(275)76227382") debe devolver false.

assert(telephoneCheck('(275)76227382') === false);

telephoneCheck("2(757)6227382") debe devolver false.

assert(telephoneCheck('2(757)6227382') === false);

telephoneCheck("2(757)622-7382") debe devolver false.

assert(telephoneCheck('2(757)622-7382') === false);

telephoneCheck("555)-555-5555") debe devolver false.

assert(telephoneCheck('555)-555-5555') === false);

telephoneCheck("(555-555-5555") debe devolver false.

assert(telephoneCheck('(555-555-5555') === false);

telephoneCheck("(555)5(55?)-5555") debe devolver false.

assert(telephoneCheck('(555)5(55?)-5555') === false);

telephoneCheck("55 55-55-555-5") debe devolver false.

assert(telephoneCheck('55 55-55-555-5') === 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");