题目:

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

用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下面测试时用到的一些变体写法):

555-555-5555

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

在本节中你会看见如 800-692-7753 or 8oo-six427676;laskdjf 这样的字符串. 你的任务就是验证前面给出的字符串是否是有效的美国电话号码. 区号是必须有的. 如果字符串中给出了国家代码, 你必须验证其是 1. 如果号码有效就返回 true ; 否则返回 false。

当你遇到困难的时候,记得查看错误提示、阅读文档、搜索、提问。

这是一些对你有帮助的资源:

  • RegExp

使用正则表达式解决:

1 function telephoneCheck(str) {
2   // Good luck!
3
4   var regexp = /^1?\s?(\d{3}|\(\d{3}\))[\s-]?\d{3}[\s-]?\d{4}$/;
5   return regexp.test(str);
6 }
7
8 telephoneCheck("1 (555) 555-5555");

telephoneCheck("555-555-5555")应该返回一个布尔值.
 

 
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("1 555 555 5555") 应该返回 true.
 

 
telephoneCheck("1 456 789 4444") 应该返回 true.
 

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

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

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

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

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

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

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

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

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

 
telephoneCheck("(275)76227382")应该返回 false.
 

 
telephoneCheck("2(757)6227382")应该返回 false.
 

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

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

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

--------------------------------------------------

我的Free Code Camp地址.

转载于:https://www.cnblogs.com/magicmai/p/6788830.html

FCC算法题--Validate US Telephone Numbers相关推荐

  1. LeetCode 445. Add Two Numbers II--面试算法题--C++,Python解法

    题目地址:Add Two Numbers II - LeetCode You are given two non-empty linked lists representing two non-neg ...

  2. Re: 一著名软件公司的java笔试算法题!

    主 题: Re: 一著名软件公司的java笔试算法题! 作 者:   szlhj () 等 级:   信 誉 值:   95 所属论坛:   Java J2SE / 基础类 问题点数:   20 回复 ...

  3. JavaScript算法题:查找数字在数组中的索引

    翻译:疯狂的技术宅 原文:medium.freecodecamp.org/how-to-find- 编写算法时,排序是一个非常重要的概念.它有各种各样的种类:冒泡排序.希尔排序.分块块排序,梳排序,鸡 ...

  4. LeetCode算法题5:双指针

    文章目录 前言 一.有序数组的平方 二.轮转数组 三.移动零 四.两数之和 II - 输入有序数组 五.反转字符串 六.反转字符串中的单词 III 七.链表的中间结点 八.删除链表的倒数第 N 个结点 ...

  5. 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...

    https://juejin.im/post/6844903811505455118 Introduction 面试过程通常从最初的电话面试开始,然后是现场面试,检查编程技能和文化契合度.几乎毫无例外 ...

  6. java基础算法题(入门题与简单题)

    题目来自lintcode,答案来自九章算术,将自己在lintcode上训练的一些简单算法题贴出来,作为知识的总结与整理.便于查看复习. 第一部分(入门级别,只做了开放的部分,大部分需要收费的VIP才有 ...

  7. 学习笔记之15道简单算法题

    15道简单算法题 http://www.cnblogs.com/hlxs/archive/2014/06/06/3772333.html (●-●) | 剑指Offer_编程题_牛客网 http:// ...

  8. LeetCode 简单算法题

    使用Nodejs 抓取的LeetCode 简单算法题  一步一步来,先攻破所有简单的题目,有些题目不适合使用JS解决,请自行斟酌 Letcode 简单题汇总 104. Maximum Depth of ...

  9. C1模拟试卷的一个算法题

    C1模拟试卷的一个算法题 题目: 使用Math生成一个随机数,这个随机数需要在0到500之间. 然后,在网页中打印出来从10到这个随机数的回文数. 代码实现: <!DOCTYPE html> ...

最新文章

  1. RTT 动态线程和静态线程
  2. mysql-5.7.18-winx64 安装 net start mysql 发生系统错误2
  3. 演示 wxPreferencesEditor 使用的示例
  4. 如何使用soapUI模拟webservice客户端发送请求
  5. 计算机运算的基本原理概论,[工学]7计算概论A A02 计算机的基本原理.pdf
  6. np.array的shape的区别
  7. 抖音做综艺,差点意思
  8. LINUX服务器安全加固方法整理
  9. 国有患难,君死社稷,大夫死宗庙,百姓最后死乡间...
  10. 解读《三字经》(7)
  11. 2021-2027全球与中国气溶胶粒径谱仪市场现状及未来发展趋势
  12. MySQL数据导出:ERROR 1 (HY000) 错误解决
  13. lstm token分类模型代码解析(直接传入batch数据,测试pad和pack_padded、pad_packed三函数)
  14. 建站教程|小鸟云服务器搭建Wordpress站点
  15. WIN10 USB3.0接口无法识别U盘-未知usb端口重置失败的解决
  16. Oracle学习(八)——————————————子查询
  17. 交叉编译xorg-server
  18. 用C语言写藏头诗或藏尾诗
  19. 单片机AD转换程序 TLC2543
  20. 植物大战僵尸:学会使用人造指针

热门文章

  1. python qt designer 重定向_[Python自学] PyQT5-QTDesigner中关联信号和槽
  2. c# 链接mongDB集群实战开发2
  3. docker 启动镜像_Docker学以致用,开源项目和云服务,是最好的学习资源
  4. java api文档_JAVA浏览器控件JxBrowser v7.3上线!最新API文档打包带走
  5. mongodb 分组聚合_MongoDB学习笔记整理,赶紧收藏起来吧
  6. birt脚本for循环语句_Python入门第7课,循环结构学习,for语句range函数的3种用法
  7. 全景视频拼接(一)--关键技术流程
  8. 人脸检测(十)--强分类器源码分析
  9. vue.js中的事件绑定-01笔记
  10. STVD ERROR:misplaced local declaration