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

猜你喜欢

转载自blog.csdn.net/qq_42044073/article/details/82806016
今日推荐