任务21 正则表达式-代码题

1.写一个函数trim(str),去除字符串两边的空白字符

  function time(str){
    return str.replace(/^\s+|\s+$/g,"")
  }
var str="  abc degh  ilkm  "
console.log(time(str))//"abc degh  ilkm"

2.使用实现 addClass(el,cls)hasClass(el,cls)removeClass(el,cls),使用正则

3.写一个函数isEmail(str),判断用户输入的是不是邮箱

function isEmail(str){
    var reg=/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
    if (reg.test(str)) {
        return str
    }else{
        alert("请输入正确的邮箱格式")
    }
}
isEmail("aaa")//"请输入正确的邮箱格式"
isEmail("[email protected]")//"[email protected]"

4.写一个函数isPhoneNum(str),判断用户输入的是不是手机号

function isPhoneNum(str){
    var reg=/^1[0-9]{10}$/;
    if (reg.test(str)) {
        return str
    }else{
        alert("请输入正确的手机号")
    }
}
var str="111100001111"
isPhoneNum(str)//输出:"请输入正确的手机号"
var str="13656576666"
 isPhoneNum(str)//输出:"13656576666"

5.写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)

function isValidUsername(str){
    var reg=/^\w{6,20}$/
    if (reg.test(str)) {
        return str
    }else{
        alert("请输入正确的用户名")
    }
}

6.写一个函数isValidPassword(str), 判断用户输入的是不是合法密码(长度6-20个字符,只包括大写字母、小写字母、数字、下划线,且至少至少包括两种)

function isValidPassword(str){
        var reg=/^\w{6,20}$/;
        var reg1=/(^[a-z]+$)|(^[A-Z]+$)|(^[0-9]+$)|(^_+$)/;
        if (reg.test(str)) {
            if(reg1.test(str)){
             alert("亲,请输入正确的密码(字母、数字、下划线,至少包含其中两种)")
            }else{
                alert("设置成功");
            }
        }else{
            alert("亲,请输入正确的密码(长度6-20)")
        }
    }

7.写一个正则表达式,得到如下字符串里所有的颜色(#121212)

var re = /#[e-fA0-2]{6}/g;
var subj = "color: #121212; background-color: 
                  #AA00ef;     width: 12px; bad-colors: f#fddee #fd2 ";
    alert( subj.match(re) )  // #121212,#AA00ef

8.下面代码输出什么? 为什么? 改写代码,让其输出hunger
, world.

    var str = 'hello  "hunger" , hello "world"';
    var pat =  /".*"/g;
    str.match(pat);//[""hunger" , hello "world""]  
    //这是因为.匹配除换行和行结束符外的任意单个字符,
    //而*在满足条件下会尽可能多的匹配,若要输出hunger,world,只要改写成非贪婪模式即可
    var str = 'hello  "hunger" , hello "world"';
    var pat =  /".*?"/g;
    str.match(pat);//[""hunger"", ""world""]

9.补全如下正则表达式,输出字符串中的注释内容. (可尝试使用贪婪模式和非贪婪模式两种方法)

  • 贪婪模式

    str = '..  ..   .. '
      re = //g
      str.match(re) // '', ''
    
  • 非贪婪模式

    str = '..  ..   .. '
      re = //g
      str.match(re) // '', ''
    

10.补全如下正则表达式

var re = /<[a-z][\w\W]*?>/g
    var str = '<>   '
    str.match(re) // '', '', ''

你可能感兴趣的:(任务21 正则表达式-代码题)