美文网首页
进阶任务-7

进阶任务-7

作者: 小羊熊 | 来源:发表于2017-08-19 18:47 被阅读17次

    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 = '793437229@qq.com'
     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

          本文链接:https://www.haomeiwen.com/subject/mwatdxtx.html