題目:正則表達式
若是傳入字符串是一個有效的美國電話號碼,則返回 true。
app
用戶能夠在表單中填入一個任意有效美國電話號碼. 下面是一些有效號碼的例子(還有下面測試時用到的一些變體寫法):測試
555-555-5555在本節中你會看見如 800-692-7753
or 8oo-six427676;laskdjf
這樣的字符串. 你的任務就是驗證前面給出的字符串是不是有效的美國電話號碼. 區號是必須有的. 若是字符串中給出了國家代碼, 你必須驗證其是 1
. 若是號碼有效就返回 true
; 不然返回 false。
spa
當你遇到困難的時候,記得查看錯誤提示、閱讀文檔、搜索、提問。code
這是一些對你有幫助的資源:regexp
使用正則表達式解決:blog
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.
-------------------------------------------------- ip
個人Free Code Camp地址.資源