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且第二个字母为括号;

解决

测试

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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容