Validate US Telephone Numbers FreeCodeCamp

function telephoneCheck(str) {
  // 祝你好运
  //var re = /^1? ?(\(\d{3}\)|\d{3})[ |-]?\d{3}[ |-]?\d{4}$/;
  //var flag = re.test(str);  
  //return flag;
  return /^1? ?(\(\d{3}\)|\d{3})[ |-]?\d{3}[ |-]?\d{4}$/.test(str);
}

题目:

  如果传入字符串是一个有效的美国电话号码,则返回 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.
 
分析:
   RegExp
 
  ?限定前面一个字符有一个或多个。
 
   | 表示或者,通常用括号括起来(前面|后面的内容),表示这是一个部分,
    只有一个字符的时候也可以用[]括起来。[]表示一个字符集。
 
  {阿拉伯数字} 表示前面的限定内容出现的次数。
 
  \d 限定阿拉伯数字。
 
  ^ 匹配字符串的开头什么都没有那一部分空白符  紧跟",又不是字符串的可见的一部分。
 
  $匹配字符串的结尾什么都没有的那一部分空白符, 在"前面又不是字符串的可见的一部分。
 
  RegExp.prototype.test()  
    概述:方法执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回  true 或  false
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test

转载于:https://www.cnblogs.com/zhrngM/p/8649064.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值