day04

A.今天学到了什么

1.数组
1.1命名方式
   <script>
        // 直接量的方式
        var arr=[1,2,3];
        // 构造函数的方式(了解)
        var b =new Array();
        b[0]=1;
        // 检测一个数据是不是数组
        // instanceof 返回boolean值
        // Array.isArray();返回boolean值
        console.log(b instanceof Array);
    </script>
1.2 增加
  <script>
        // push  从后增加
        var arr=[1,2,3];
        arr.push(4);
        console.log(arr);
        // unshift  从头添加
        arr.unshift(0);
        console.log(arr);
    </script>
1.3 concat增加
    <script>
        var arr=[1,2,3];
        var b=arr.concat(4);
        console.log(arr);
        console.log(b);
    </script>
1.4数组的克隆
    <script>
        var arr=[1,2,3];
        var b=[];
        // 1.push
        for(var i=0;i<arr.length;i++){
            b.push(arr[i]);
        }
        console.log(b);
        // 2.concat
        var c=[4,5,6];
        var d=c.concat([7,8]);
        console.log(d);
    </script>
1.5 数组删除
    <script>
        // 从后面删除
        var arr=[1,2,3];
        arr.pop();
        // console.log(arr);
        // 从头删除
        arr.shift();
        console.log(arr);
    </script>
1.6 数组的修改
    <script>
        var arr=[1,2,3,4];
        arr.splice(1,1,"h");
        console.log(arr);
    </script>
1.7 查询
    <script>
       var arr=[1,2,3,4];
    //    indexOf 查询对应的下标
    //  arr.slice(开始的下标 结束的下标)  不包含结束的下标
       var  a=arr.indexOf(4);
       var b=arr.slice(0,2);
       console.log(b);
    //    传一个参数
       var c=arr.slice(0);
       console.log(c);
    </script>
1.8 splice用法
    <script>
        // 1.增加
         var arr=[1,2,3,4];
        //  arr.splice(2,0,"hello");
        //  console.log(arr)
        //  2.删除
        arr.splice(2,1);
        console.log(arr)
    </script>

#######1.9 join 的用法

    <script>
        //  w3cschool
        // join 将数组转为一个字符串
        var arr=["hello","world","good"];
        var b=arr.join();
        var c=arr.join("|");
        var d=arr.join("");
        console.log(d);
    </script>
2 数组排序
  <script>
        var arr=[232,34,235,65,82,934,93,6,43]
        // 升序
        var b=arr.sort(function(a,b){
            return a-b;
            // 降序 b-a
        });
        console.log(b);
    </script>
3 数组求和
    <script>
        var arr=[123,3,343,343];
        // 求和
        var b=arr.reduce(function(a,b){
            return a+b;
        });
        var c=arr.reverse();
        // console.log(b);
        console.log(c);
        // 二维数组
        var arr1=[[1,2],[2,3],[3,4],[4,5],"hello"];
        console.log(arr1[0][0]);

    </script>
4 swiper轮播

http://3.swiper.com.cn/

5 字符串常用方法

1.获取字符串的长度

        var str="hello world";
        var len=str.length;
        // console.log(len);

2.增加

        var add=str.concat("add");
        // console.log(add);

3.查询 输出对应下标的字符

        var char=str.charAt(2);
        // console.log(char);

4.indexOf 输出对应字符的下标

        var b=str.indexOf("l");
        // console.log(b);
        // 截取
        var c=str.slice(1,4);
        // console.log(c);
        // 基本类型的方法不能改变原来的值
        // substr(index,length)
        // substring(startindex,endindex)
        var e=str.substr(1,3);
        var d=str.substring(1,4);
        // console.log(e);

5.将字符串分割成数组

        var h=str.split("");
        console.log(h);
        // 
    </script>
6 字符串的其他方法
 <script>
        // search 方法   返回搜索值的下标
        // 如果字符不存在 返回-1
        var a ="hello world ";
        var b=a.search("h");
        console.log(b);
        // match 方法   返回一个数组
        // 如果字符不存在 返回null
        var c=a.match("e");
        console.log(c);
        // replace  替换掉第一个hello字符
        var d=a.replace("hello","good");
        // 替换所有的字符
        var e=a.replace(/l/g,"*");
        console.log(e);
    </script>
7 正则表达式

7.1写法

        var a="hello world"
            // 正则表达式写法
            var reg=/l/g;
            // var reg=new RegExp("l","g");
            var b=a.replace(reg,"*");
            console.log(b);

7.2 备选字符集

   // 备选字符集
        var c="上海,上天走,上去,上来";
        var reg=/上[海走]/g;
        var d=c.replace(reg,"**");
        console.log(d);
        var e="12334232d"
        var h=/[0-9]/g;
        console.log(e.replace(h,"*"));
        // 字符集
        // [a-z] [A-Z] [0-9]

7.3 预订字符集

  //预定义字符集
        // \d   [0-9]
        // \w 数字 字母或者下划线
        // \s 除换行以外所有的字符   空格 tab .
        // 
        var u="hello 132321"
        var reg=/\d/g;
        console.log(u.replace(reg,"**"));

7.4 量词

    <input type="text" id="txt">
    <button id="btn">btn</button>
    <script>
        // 量词  规定字符出现的次数
        // 正则表达式自带test()方法   返回boolean
        // {9}确定数量
        // {3,6}出现3-6次
        // {3,}至少出现三次
        var txt=document.getElementById("txt");
        var btn=document.getElementById("btn"); 
        var reg=/^\d{6}$/;
        btn.onclick=function(){
            var value=txt.value;
            var result=reg.test(value);
            console.log(result);
            if(result){
                alert("输入的是正确的");
            }else{
                alert("只能输入6位数字");
            }
        }    
        // 不确定数量的量词
        // +   出现一次或多次
        // ? 出现0次或1次
        // * 出现0次或多次
    </script>

7.5选择和分组

      <input type="text" id="txt">
        <button id="btn">btn</button>
    <script>
        // ^以xx开头   $以xx结尾
        var reg=/^(\+08|0086)?\s*1[3456789]\d{9}$/;
        var txt=document.getElementById("txt");
        var btn=document.getElementById("btn"); 
        btn.onclick=function(){
            var value=txt.value;
            var result=reg.test(value);
            console.log(result);
            if(result){
                alert("输入的是正确的");
            }else{
                alert("请输入正确的电话号码");
            }
        } 
    </script>

7.6 自定匹配位置

  <script>
        // 排除 [^abc]  除了abc
        var a="     hello";
        var reg=/^\s+/g;
        console.log(a);
        console.log(a.replace(reg,""));
        var b="sahenfks";
        var reg=/[^s]/g;
        console.log(b.replace(reg,"e"));
        
    </script>

7.7 电话号码选择

   <script>
        // 以 +08或者0086 可有可无
        // 可以有多个空格或者没有
        // 第一位为1 第二位为3456789 最后九位为数字
        var reg=/^(\+08|0086)?\s*1[3456789]\d{9}$/
    </script

7.8 match

<script>
        // match也可以传正则表达式
        var str = "hello 13231234 434";
        var reg=/\d+/g;
        var arr=str.match(reg);
        console.log(arr);
    </script>

7.9 过滤

  <textarea  id="txt" cols="30" rows="10"></textarea>
    <button id="btn">过滤</button>
    <script>
        var reg= /天猫|淘宝/g;
        var txt=document.getElementById("txt");
        var btn=document.getElementById("btn");
        btn.onclick=function(){
            var value=txt.value;
            var filter=value.replace(reg,"**");
            txt.value=filter;
        
        }
        
    </script>

7.10 邮箱的正则

       <input type="text" id="txt">
        <p id="content"></p>
        <button id="btn">验证</button>
    <script>
        // 一串数字,字幕或下划线@一串数字 英文,一串英文
        var reg=/^\w+@[a-z0-9]+\.[a-z]+$/
        var txt=document.getElementById("txt");
        var btn=document.getElementById("btn");
        var content=document.getElementById("content");
            btn.onclick=function(){
                var value=txt.value;
                var result =reg.test(value);
                if(result){
                  content.innerHTML="邮箱正确";
                  content.style.color="green";
                }else{
                  content.innerHTML="邮箱格式不正确";
                  content.style.color="red";
                }
            }
            
    </script>

7.11总结
字符串中支持正则的方法
strObj.search(regExp)
search()
match()
replace()
split()
正则自带方法
test() 检测一个字符串是否匹配某个模式 返回值为boolean
regExp.test(strObj)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,204评论 0 4
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 3,979评论 0 20
  • JavaScript中的基本包装类型及函数的介绍 一.基本包装类型(三种) 1.Array.isArray()方法...
    Ainy尘世繁花终凋落阅读 321评论 0 0
  • js基础day04 一.自定义属性 可以给任何元素自定义一个属性使用, 用来保存数据, 方便使用 自定义属性生命周...
    codeTao阅读 182评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,051评论 0 3