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