Validate US Telephone Numbers

要求

如果传入字符串是一个有效的美国电话号码,则返回true.

下面是一些有效号码的例子(还有下面测试时用到的一些变体写法):

555-555-5555

(555)555-5555

(555) 555-5555

555 555 5555

5555555555

1 555 555 5555

分析

1.用str.replace(/-/g,"").replace(/ /g,"")替换掉所有的‘-’和空格都去掉,只留下数字和();

2.有效的只有以下四种情况:

str长度为10,则一定正确;

str长度为11,则首字母必为1;

str长度为12,则首字母是括号;

str长度为13,则首字母为1且第二个字母为括号;

解决

Validate US Telephone Numbers_第1张图片

测试

telephoneCheck("1 555-555-5555")应该返回 true.

telephoneCheck("1 (555) 555-5555")应该返回 true.

telephoneCheck("5555555555")应该返回 true.

telephoneCheck("555-555-5555")应该返回 true.

telephoneCheck("(555)555-5555")应该返回 true.

telephoneCheck("1(555)555-5555")应该返回 true.

telephoneCheck("1 555)555-5555")应该返回 false.

telephoneCheck("123**&!!asdf#")应该返回 false.

telephoneCheck("55555555")应该返回 false.

telephoneCheck("(6505552368)")应该返回 false

telephoneCheck("2 (757) 622-7382")应该返回 false.

telephoneCheck("555)-555-5555")应该返回 false.

telephoneCheck("(555-555-5555")应该返回 false.

你可能感兴趣的:(Validate US Telephone Numbers)