進階任務-7

1. \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?

  • \d:表示匹配0-9之間的任一數(shù)字,相當于[0-9]
  • \w:表示匹配任意的字母、數(shù)字和下劃線,相當于[A-Za-z0-9_]
  • \s:表示匹配空格(包括制表符、空格符、斷行符等),相等于[\t\r\n\v\f]
  • [a-zA-Z0-9]:相當于\w,表示匹配任意的字母、數(shù)字和下劃線
  • \b:表示匹配詞的邊界
  • . :表示匹配除回車(\r)、換行(\n) 、行分隔符(\u2028)和段分隔符(\u2029)以外的所有字符
  • *:表示星號表示某個模式出現(xiàn)0次或多次,等同于{0,}
  • +:表示加號表示某個模式出現(xiàn)1次或多次,等同于{1,}
  • ?:問號表示某個模式出現(xiàn)0次或1次,等同于{0, 1}
  • x{3}:表示查找符合x出現(xiàn)三次以上的元素
  • ^$:匹配空字符串(連一個空格也沒有的)

2. 寫一個函數(shù)trim(str),去除字符串兩邊的空白字符

// ------------去除周圍空格-------------
 var str = '  adadadaada   '
 function trim(str){
    var newStr = str
    var reg = /(^\s*)|(\s*$)/g
    return  newStr.replace(reg,'')
 }
 trim(str)
 console.log(trim(str))

3.寫一個函數(shù)isEmail(str),判斷用戶輸入的是不是郵箱

// ---------檢測郵箱-----------------
 var str = '793437229@qq.com'
 function isEmail(str){
    var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
    return reg.test(str)
 }
console.log(isEmail(str))

4.寫一個函數(shù)判斷用戶輸入的是不是手機號碼

// ---------判斷電話號碼---------------
 var phoneNumber = '13700456833'
 function isPhoneNumber(phoneNumber){
    var reg = /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
   return reg.test(phoneNumber)
    }
 console.log(isPhoneNumber(phoneNumber))

5. 寫一個函數(shù),判斷用戶輸入的是不是合法的用戶名(長度6-20個字符,只能包括字母、數(shù)字、下劃線)

// ----------測試用戶名-----------------
 var userName = '123456'
 function isValidUserName(str){
    var reg = /^\w{6,20}$/
   return reg.test(str)
    }
 console.log(isValidUserName(userName))

6.寫一個函數(shù)判斷用戶輸入的是不是密碼

// ----------測試密碼-----------------
 var pasword = 'ye124zhu'
 function isPasword(str){
    var reg = /^\w{6,20}$/
    var allUppercase = /^[A-Z]{6,20}$/
    var allLowercase = /^[a-z]{6,20}$/
    var allNumber = /^\d{6,20}$/ 
    var allUnderline = /^_{6,20}$/
    
    if(!reg.test(str)){
        return false
    }else if(allUppercase.test(str)){
        return false
    }else if( allLowercase.test(str)){
        return false
    }else if(allNumber.test(str)){
        return false
    }else if(allUnderline.test(str)){
        return false
    }else{
        return true
    }
    
 }
 console.log(isPasword(pasword))

7. 寫一個正則表達式,得到如下字符串里所有的顏色

//  ---------篩選顏色數(shù)值---------------
 var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
 function colorReg(color){
    var reg = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})(?=;)/g
    return color.match(reg)
 }
colorReg(subj)

8. 求平方

// ---------替換平方-----------------
 var str = '3的平方是9,9的平方是81'
 str = str.replace(/\d+/g,function(num){
    return parseInt(Math.pow(num,2))
 })

9.讓其輸出['hunger', 'world'].

//原寫法
var str = 'hello  "hunger" , hello "world"';
var pat =  /".*"/g;
str.match(pat);
//現(xiàn)在的寫法  將貪婪模式 改為 非貪婪模式
var str = ' hello "hunger" , hello "world" ';
var pat = /".*?"/g;
str.match(pat);    //["hunger", "world"]
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容