W3Cschool高级脚本算法(1.判断电话号码算法挑战)

判断电话号码算法挑战


问题:

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


要求:

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.


问题答案:

  // Good luck!
  //正则表达式
  //^1?表示以1开头,1匹配0次或1次
  //\d{3}匹配一个0-9的数字三次
  //\(\d{3}\)匹配(一个0-9的数字三次),比上面多一个括号,左右括号分别需要加上转义字符\
  // ?表示空格匹配0次或1次
  //[ -]?表示空格或者连字符-匹配0次或1次
  //\d{4}$表示已4位数字结尾($)
  var re=/^1? ?(\d{3}|\(\d{3}\))[ -]?\d{3}[ -]?\d{4}$/;
  return re.test(str);

题目链接:

https://www.w3cschool.cn/codecamp/validate-us-telephone-numbers.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值