进阶任务-7

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

  • \d:表示匹配0-9之间的任一数字,相当于[0-9]
  • \w:表示匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]
  • \s:表示匹配空格(包括制表符、空格符、断行符等),相等于[\t\r\n\v\f]
  • [a-zA-Z0-9]:相当于\w,表示匹配任意的字母、数字和下划线
  • \b:表示匹配词的边界
  • . :表示匹配除回车(\r)、换行(\n) 、行分隔符(\u2028)和段分隔符(\u2029)以外的所有字符
  • *:表示星号表示某个模式出现0次或多次,等同于{0,}
  • +:表示加号表示某个模式出现1次或多次,等同于{1,}
  • ?:问号表示某个模式出现0次或1次,等同于{0, 1}
  • x{3}:表示查找符合x出现三次以上的元素
  • ^$:匹配空字符串(连一个空格也没有的)

2. 写一个函数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.写一个函数isEmail(str),判断用户输入的是不是邮箱

// ---------检测邮箱-----------------
 var str = '[email protected]'
 function isEmail(str){
    var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
    return reg.test(str)
 }
console.log(isEmail(str))

4.写一个函数判断用户输入的是不是手机号码

// ---------判断电话号码---------------
 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. 写一个函数,判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)

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

6.写一个函数判断用户输入的是不是密码

// ----------测试密码-----------------
 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. 写一个正则表达式,得到如下字符串里所有的颜色

//  ---------筛选颜色数值---------------
 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);
//现在的写法  将贪婪模式 改为 非贪婪模式
var str = ' hello "hunger" , hello "world" ';
var pat = /".*?"/g;
str.match(pat);    //["hunger", "world"]

你可能感兴趣的:(进阶任务-7)