要求
如果传入字符串是一个有效的美国电话号码,则返回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且第二个字母为括号;
解决
测试
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.