• 2019.8.1正则二


    预习

    //去除str中的字母
    var str = '1sss2aaa3sdsdf4sf5sd622';
    str = str.replace(/[a-z]*/g,'');
    console.log(str);

    //查找a中出现最多的字符,打印次数
    var a = 'aaaavvvvbbbdddbeeeddcccc';
    for(var i = 0,result = [];i < a.length;i++){
    //在result中有以a[i]为下标的元素,则给元素a[i]+1
    if(result[a[i]]){
    result[a[i]]++;
    }else{//否则,给这个元素赋值1
    result[a[i]] = 1;
    }
    }
    //打印出每个元素出现的次数
    console.dir(result);
    //给个max表示最大次数,char表示最多次数的下标
    var max = 0;char = '';
    //遍历每个元素
    for(var key in result){
    //找出每个下标里面最大的元素,让max为次数,char为下标
    if(result[key] > max){
    max = result[key];
    char = key;
    }
    }
    //打印
    console.log('出现最多的是' + char + ',出现了' + max + '次');

    新知识

    <ul><li><a href="www.baidu.com">百度</a></li>
    <li><a href="www.bailiban.com">百里半</a></li></ul>
    <button onclick="ow()">验证</button>
    <script type="text/javascript">
    //RegExp对象中可以写正则表达式
    //var reg = /正则/ig;
    //1.创建固定不变的正则表达式,创建的是一个对象,直接量。
    var str = 'no can n/o say,you can you up';
    var reg = /n/o/g;//双斜杠里的斜杠需要用反斜杠配合
    var arr = str.match(reg);
    console.log(arr);

    //2.创建动态的正则表达式
    var mess = '床前明月光,一行白鹭上青天,日照香炉生紫烟';
    var names = ['月光','白鹭','香炉','紫烟'];
    var nameReg = new RegExp(names.join('|'),'g');
    var kws = mess.match(nameReg);
    console.log(kws);

    //3.验证字符串是否符合正则表达式的要求
    //var bool = reg.test(待检测字符串);
    //输入六位数密码,验证。
    function ow() {
    var reg = /^d{6}$/;
    while(!reg.test(prompt('请输入密码:'))){
    alert('格式错误,请输入六位数密码')
    }
    document.write('<h1>验证通过</h1>');
    }


    //4.
    var msg = '吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮';
    reg = /([吃吐])葡萄/g;
    while((arr = reg.exec(msg))!= null){
    console.log('在位置' + arr['index'] + '发现敏感词' +arr['0']);
    }

    //5.正则默认为贪婪模式,指匹配最长的符合的内容
    //改为懒惰模式:
    //1、.* .+ ====> .*? .+?
    //2、[^XXX]*
    var html = '<ul><li><a href="www.baidu.com">百度</a></li><li><a href="www.bailiban.com">百里半</a></li></ul>';
    reg = /href="([^"]*)/ig;
    while((reg.exec(html))!=null){
    console.log(RegExp.$1);
    }

    四道题

    <button onclick="one()">one</button>
    <button onclick="two()">two</button>
    <button onclick="three()">three</button>
    <button onclick="four()">four</button>
    <script type="text/javascript">
    // 1. 如何自定义四舍五入的方法 要求是能根据任意小数位四舍五入
    // var num = Number(prompt('请输入你要取整的小数:'));
    // console.log(num)
    // var n = prompt('请输入你要保留的位数');
    // console.log(num.toFixed(n));
    function one(){
    var num = prompt('请输入你要取整的小数:');
    var d = prompt('请输入你要保留的位数');
    try{
    if(isNaN(num) || isNaN(d)){
    console.log('请输入正确的数字!')
    }else{
    num = num*Math.pow(10,d);
    num = Math.round(num);
    console.log(num/Math.pow(10,d));
    }
    }catch(e){
    console.log(String(e));
    }
    }

    // 2. 算术计算的游戏,随机出十道题,接受用户答题,答对一题得10分,错一题扣10
    // 如果输入的是exit,退出游戏最终给出得分
    //
    function two(){
    var count = 0;
    for(var i = 1; i < 11;i++){
    var num1 = parseInt(Math.random()*10),num2 = parseInt(Math.random()*10);
    var num = prompt(num1 + '+' + num2 + '的值是:');
    if(num1 + num2 == num){
    count += 10;
    }else if (num == 'exit'){
    break;
    }else{
    count -= 10;
    }
    }console.log('最终得分是:' + count);
    }

    // 3.计算两个时间之间相差的小时数
    function three(){
    var first = prompt('请输入第一个时间:');
    var firstdate = new Date(first);
    var second = prompt('请输入第二个时间:');
    var seconddate = new Date(second);
    var time = (seconddate - firstdate)/3600000;
    console.log('中间相差了' + time + '个小时');
    }

    // 4当前时间格式化为:xxx年x月x日 星期x am/pm hh:mm:ss
    function four(){
    var nowdate = new Date();
    console.log(nowdate);
    var day = nowdate.getDay() == 0?'六':nowdate.getDay() == 1?'一':nowdate.getDay() == 2?'二':nowdate.getDay() == 3?'三':nowdate.getDay() == 4?'四':nowdate.getDay() == 5?'五':'六';
    var hours;
    if(nowdate.getHours() > 12){
    hours = 'pm';
    }else{
    aours = 'am';
    }
    var time = nowdate.getFullYear() + '年' + (nowdate.getMonth() + 1) + '月' + nowdate.getDate() + '日 ' + ' 星期' + day +' ' + hours + ' ' + nowdate.getHours() + ':' + nowdate.getMinutes() + ':' + nowdate.getSeconds();
    console.log(time)
    }

  • 相关阅读:
    CentOS7下安装Docker-Compose
    USDT(omniCore)测试环境搭建
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等
    Docker导入导出镜像
    Linux下安装GO语言环境
    linux 查看磁盘空间大小
    rsync+sersync多线程实时同步
    rsync+inotify实时同步
    rsync高级同步
    NFS服务器
  • 原文地址:https://www.cnblogs.com/awei313558147/p/11302422.html
Copyright © 2020-2023  润新知