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

218 lines
5.1 KiB
Markdown
Raw Normal View History

---
id: aff0395860f5d3034dc0bfc9
title: Validatore di numeri di telefono
challengeType: 5
forumTopicId: 16090
dashedName: telephone-number-validator
---
# --description--
Restituisce `true` se la stringa passata ha il formato di un numero di telefono US valido.
L'utente può compilare il campo modulo in qualsiasi modo scelga a condizione che abbia il formato di un numero US valido. Di seguito sono riportati esempi di formati validi per i numeri degli Stati Uniti (fare riferimento ai test di seguito per altre varianti):
<blockquote>555-555-5555<br>(555)555-5555<br>(555) 555-5555<br>555 555 5555<br>5555555555<br>1 555 555 5555</blockquote>
Per questa sfida ti verrà presentata una stringa come `800-692-7753` o `8oo-six427676;laskdjf`. Il tuo compito è quello di convalidare o rifiutare il numero di telefono degli Stati Uniti in base a qualsiasi combinazione dei formati forniti sopra. Il codice di area è obbligatorio. Se viene fornito il codice paese, è necessario confermare che il codice sia `1`. Restituisci `true` se la stringa è un numero di telefono US valido; altrimenti restituisci `false`.
# --hints--
`telephoneCheck("555-555-5555")` dovrebbe restituire un booleano.
```js
assert(typeof telephoneCheck('555-555-5555') === 'boolean');
```
`telephoneCheck("1 555-555-5555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('1 555-555-5555') === true);
```
`telephoneCheck("1 (555) 555-5555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('1 (555) 555-5555') === true);
```
`telephoneCheck("5555555555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('5555555555') === true);
```
`telephoneCheck("555-555-5555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('555-555-5555') === true);
```
`telephoneCheck("(555)555-5555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('(555)555-5555') === true);
```
`telephoneCheck("1(555)555-5555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('1(555)555-5555') === true);
```
`telephoneCheck("555-5555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('555-5555') === false);
```
`telephoneCheck("5555555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('5555555') === false);
```
`telephoneCheck("1 555)555-5555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('1 555)555-5555') === false);
```
`telephoneCheck("1 555 555 5555")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('1 555 555 5555') === true);
```
`telephoneCheck("1 456 789 4444")` dovrebbe restituire `true`.
```js
assert(telephoneCheck('1 456 789 4444') === true);
```
`telephoneCheck("123**&!!asdf#")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('123**&!!asdf#') === false);
```
`telephoneCheck("55555555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('55555555') === false);
```
`telephoneCheck("(6054756961)")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('(6054756961)') === false);
```
`telephoneCheck("2 (757) 622-7382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('2 (757) 622-7382') === false);
```
`telephoneCheck("0 (757) 622-7382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('0 (757) 622-7382') === false);
```
`telephoneCheck("-1 (757) 622-7382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('-1 (757) 622-7382') === false);
```
`telephoneCheck("2 757 622-7382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('2 757 622-7382') === false);
```
`telephoneCheck("10 (757) 622-7382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('10 (757) 622-7382') === false);
```
`telephoneCheck("27576227382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('27576227382') === false);
```
`telephoneCheck("(275)76227382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('(275)76227382') === false);
```
`telephoneCheck("2(757)6227382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('2(757)6227382') === false);
```
`telephoneCheck("2(757)622-7382")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('2(757)622-7382') === false);
```
`telephoneCheck("555)-555-5555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('555)-555-5555') === false);
```
`telephoneCheck("(555-555-5555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('(555-555-5555') === false);
```
`telephoneCheck("(555)5(55?)-5555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('(555)5(55?)-5555') === false);
```
`telephoneCheck("55 55-55-555-5")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('55 55-55-555-5') === false);
```
`telephoneCheck("11 555-555-5555")` dovrebbe restituire `false`.
```js
assert(telephoneCheck('11 555-555-5555') === false);
```
# --seed--
## --seed-contents--
```js
function telephoneCheck(str) {
return true;
}
telephoneCheck("555-555-5555");
```
# --solutions--
```js
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");
```