美文网首页
JavaScript基础 JavaScript正则表达式

JavaScript基础 JavaScript正则表达式

作者: GA_ | 来源:发表于2018-01-19 17:48 被阅读14次
    JS输出数据方法:
    
    - 使用 window.alert() 弹出警告框。
    - 使用 document.write() 方法将内容写到 HTML 文档中。
    - 使用 innerHTML 写入到 HTML 元素。
    - 使用 console.log() 写入到浏览器的控制台。
    
    JS数据类型:
    
    - var length = 16;                                  // Number 通过数字字面量赋值 
    - var points = x * 10;                              // Number 通过表达式字面量赋值
    - var lastName = "Johnson";                         // String 通过字符串字面量赋值
    - var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值
    - var person = {firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值
    
    以下是 HTML 事件的实例:
    
    - HTML 页面完成加载
    - HTML input 字段改变时
    - HTML 按钮被点击
    
    HTML时间列表:
    
    - onchange      HTML 元素改变
    - onclick       用户点击 HTML 元素
    - onmouseover   用户在一个HTML元素上移动鼠标
    - onmouseout    用户从一个HTML元素上移开鼠标
    - onkeydown     用户按下键盘按键
    - onload        浏览器已完成页面的加载
    ----------------------------------------------------------------------------------
    <button onchange="change()" onclick="click()" onmousedown="mousedown()" onmouseup="mouseup()" onkeydown="keydown()" onload="loadfinished()"></button>
    
    特殊字符:
    
      \'    单引号
      \"    双引号
      \\    反斜杠
      \n    换行
      \r    回车
      \t    tab(制表符)
      \b    退格符
      \f    换页符
    
    变量类型获取:
    
    typeof
    ----------------------------------------------------------------------------------
    typeof "JiaNan"   // 返回 string
    typeof 3.14       // 返回 number
    typeof false      // 返回 boolean
    typeof [1, 2, 3]  // 返回 object
    typeof {name: 'John', age:34} // 返回 object
    typeof null  // 返回 object
    typeof undefined   // 返回 undefined
    
    字符串相关处理函数:
    
    - charAt()              返回指定索引位置的字符
    - charCodeAt()          返回指定索引位置字符的 Unicode 值
    - concat()              连接两个或多个字符串,返回连接后的字符串
    - fromCharCode()        将 Unicode 转换为字符串
    - indexOf()             返回字符串中检索指定字符第一次出现的位置
    - lastIndexOf()         返回字符串中检索指定字符最后一次出现的位置
    - localeCompare()       用本地特定的顺序来比较两个字符串
    - match()               找到一个或多个正则表达式的匹配
    - replace()             替换与正则表达式匹配的子串
    - search()              检索与正则表达式相匹配的值
    - slice()               提取字符串的片断,并在新的字符串中返回被提取的部分
    - split()               把字符串分割为子字符串数组
    - substr()              从起始索引号提取字符串中指定数目的字符
    - substring()           提取字符串中两个指定的索引号之间的字符
    - toLocaleLowerCase()   根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
    - toLocaleUpperCase()   根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
    - toLowerCase()         把字符串转换为小写
    - toString()            返回字符串对象值
    - toUpperCase()         把字符串转换为大写
    - trim()                移除字符串首尾空白
    - valueOf()             返回某个字符串对象的原始值
    
    for 循环:
    
    var cars = ["A", "B", "C", "D"];
    for (var i=0;i<cars.length;i++) {
        document.write(cars[i] + "<br>");
    }
    
    switch语句:
    
    var day;
    var d=new Date().getDay()
    switch(d) {
        case 0:
            day = "星期天";
        break; 
        case 1:
            day = "星期一";
        break; 
        case 4:
            day = "星期四";
        break; 
    }
    
    Date相关函数:
    
    - getDate()         从 Date 对象返回一个月中的某一天 (1 ~ 31)。
    - getDay()          从 Date 对象返回一周中的某一天 (0 ~ 6)。
    - getFullYear()     从 Date 对象以四位数字返回年份。
    - getHours()        返回 Date 对象的小时 (0 ~ 23)。
    - getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
    - getMinutes()      返回 Date 对象的分钟 (0 ~ 59)。
    - getMonth()        从 Date 对象返回月份 (0 ~ 11)。
    - getSeconds()      返回 Date 对象的秒数 (0 ~ 59)。
    - getTime()         返回 1970 年 1 月 1 日至今的毫秒数。
    

    JS正则表达式:

    JS中的正则表达式:
    
    1、search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
    
    2、replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
    
    // [abc] 查找方括号之间的任何字符。包含其中一个即为true
    var patt2 = /[zxcv]/;
    var str2 = "1c2332z";
    var b2 = patt2.test(str2);
    console.log("[abc]正则测试" + b2)
    
    // [^abc] 查找任何不在方括号之间的字符。
    var patt3 = /[^zxcv]/;
    //var str3 = "zxczzzzz"; // false 
    var str3 = "zx"; // false 
    //var str3 = "zxcv1"; // true 
    var b3 = patt3.test(str3);
    console.log("[^abc]正则测试" + b3)
    
    // [0-9] 查找任何从 0 至 9 的数字。
    var patt3 = /[2-3]|[6-8]/;
    //var str3 = "5"; // false 
    //var str3 = "a5"; // false
    //var str3 = "3"; // true
    var str3 = "7"; // true
    var b3 = patt3.test(str3);
    console.log("[0-9]正则测试" + b3)
    
    // [a-z]     查找任何从小写 a 到小写 z 的字符。
    var patt4 = /[a-f]/;
    //var str4 = "az"; // true
    //var str4 = "xzz"; // false
    //var str4 = "xzacdz"; // true 
    var str4 = "A"; // false 
    var b4 = patt4.test(str4);
    console.log("[a-z]正则测试" + b4);
    
    // [A-Z]    查找任何从大写 A 到大写 Z 的字符。
    // 示例同上
    
    // [A-z]    查找任何从大写 A 到小写 z 的字符。
    // 示例同上
    
    // .    查找单个字符,除了换行和行结束符。 
    /* g执行全局匹配;// 加g检索全局才结束,不加g检索到了就结束
     * i执行对大小写不敏感的匹配;
     * m执行多行匹配。*/
    // match    找到一个或多个正则表达式的匹配。
    /*
    var patt5 = /a..c/g;
    var str5 = "azdc";
    */
    var patt5 = /a.c/;
    //var str5 = "a1cz"; // true 
    var str5 = "fdafa,a1c,"; // true
    var b5 = patt5.test(str5);
    var s5 = str5.match(patt5);
    console.log(".正则测试" + b5 + "\n结果:" + s5);
    
    // \w   查找单词字符。
    var patt6 = /\w/;  // 结果b
    var patt6 = /\w/g; // 结果b,c,d,1,2,3
    var str6 = "bcd*(^123";
    var b6 = patt6.test(str6);
    var s6 = str6.match(patt6);
    console.log("\w正则测试" + b6 + "\n结果:" + s6);
    
    // \W   查找非单词字符。
    var patt7 = /\W/;  // 结果*
    var patt7 = /\W/g; // 结果*(^
    var str7 = "bcd*(^123";
    var b7 = patt7.test(str7);
    var s7 = str7.match(patt7);
    console.log("\W正则测试" + b7 + "\n结果:" + s7);
    
    // \d   查找非单词字符。
    var patt8 = /\d/;  // 结果1
    var patt8 = /\d/g; // 结果123
    var str8 = "bcd*(^123";
    var b8 = patt8.test(str8);
    var s8 = str8.match(patt8);
    console.log("\d正则测试" + b8 + "\n结果:" + s8);
    
    // \D   查找非数字字符。
    // 参考上个示例
    
    // \s   查找空白字符。 被检索字符串无空格b9=false,s9=null
    var patt9 = /\s/;  // 结果 此处有一个空格
    var patt9 = /\s/g; // 结果 , , 此处有三个空格
    var str9 = "bcd* (^1  23";
    var b9 = patt9.test(str9);
    var s9 = str9.match(patt9);
    console.log("\s正则测试" + b9 + "\n结果:" + s9);
    
    // \S   查找非空白字符。
    // 参考上个示例
    
    // \b   匹配单词边界。
    //var patt10 = /\bbc/;  // s10=null
    var patt10 = /\Bzbbc/g;  // s10=zbbc
    var str10 = "abc zbbc";
    var b10 = patt10.test(str10);
    var s10 = str10.match(patt10);
    console.log("\\b正则测试" + b10 + "\n结果:" + s10);
    
    // \B   匹配单词边界。
    var patt11 = /\Bbc/;  // s11=bc
    //var patt11 = /\Bbc/g;  // s11= bc,bc
    var str11 = "abc zbbc";
    var b11 = patt11.test(str11);
    var s11 = str11.match(patt11);
    console.log("\\B正则测试" + b11 + "\n结果:" + s11);
    
    // \0   查找 NULL 字符。
    
    // \n   查找换行符。
    var patt12 = /\n/;   
    //var str12 = "abc \\nzbbc"; // false  null
    var str12 = "abc \n\nzbbc"; // true
    var b12 = patt12.test(str12);
    var s12 = str12.match(patt12);
    console.log("\\n正则测试" + b12 + "\n结果:" + s12);
    
    // \f   查找换页符。
    // 示例如上
    
    // \r   查找回车符。
    // 示例如上
    
    // \t   查找制表符。
    // 示例如上
    
    // \v   查找垂直制表符。
    // 示例如上
    
    
    // n+   匹配任何包含至少一个 n 的字符串。
    //var patt13 = /b+/g;   // abc,zbbc
    //var patt13 = /\w+/g;   // b,bb
    //var patt13 = /bc+/g;   // bc,bc
    var patt13 = /zbc+/g;   // null 
    var str13 = "abc zbbc"; 
    var b13 = patt13.test(str13);
    var s13 = str13.match(patt13);
    console.log("n+正则测试" + b13 + "\n结果:" + s13);
    
    
    // n*   匹配任何包含零个或多个 n 的字符串。
    var patt14 = /b*/g;   // ,b,,,,bb,,
    //var patt14 = /\w*/g;   // abc,,zbbc,
    //var patt14 = /bc*/g;   // bc,b,bc
    //var patt14 = /zbc*/g;   // zb
    //var patt14 = /d*/g;   // ,,,,,,,,
    var str14 = "abc zbbc"; 
    var b14 = patt14.test(str14);
    var s14 = str14.match(patt14);
    console.log("n*正则测试" + b14 + "\n结果:" + s14);
    
    
    // n?   匹配任何包含零个或一个 n 的字符串。
    //var patt15 = /b?/g;   // ,b,,,,b,b,,
    //var patt15 = /\w?/g;   // a,b,c,,z,b,b,c,
    //var patt15 = /bc?/g;   // bc,b,bc
    //var patt15 = /zbc?/g;   // zb
    var patt15 = /d?/g;   // ,,,,,,,,
    var str15 = "abc zbbc"; 
    var b15 = patt15.test(str15);
    var s15 = str15.match(patt15);
    console.log("n?正则测试" + b15 + "\n结果:" + s15);
    
    
    // n{X}  匹配包含 X 个 n 的序列的字符串。
    //var patt16 = /b{1}/g; // b,b,b
    //var patt16 = /b{2}/g;  // false bb
    //var patt16 = /d{3}/g; // false  null
    var patt16 = /z{3}/g; // zzz,zzz,zzz
    var str16 = "abc zbbczzzzzzzz hhhzzzz"; 
    var b16 = patt16.test(str16);
    var s16 = str16.match(patt16);
    console.log("n{X}正则测试" + b16 + "\n结果:" + s16);
    
    // n{X,}    X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。
    //var patt17 = /b{1}/g; // b,b,b
    //var patt17 = /b{2}/g;  // false bb
    //var patt17 = /d{3}/g; // false  null
    var patt17 = /z{3}/g; // zzz,zzz,zzz
    var str17 = "abc zbbczzzzzzzz hhhzzzz"; 
    var b17 = patt17.test(str17);
    var s17 = str17.match(patt17);
    console.log("n{X,}正则测试" + b17 + "\n结果:" + s17);
    
    // n{X,Y}   X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。
    var patt18 = /b{1,2}/g; // b,bb
    //var patt18 = /b{1,3}/g;  // b,bb
    //var patt18 = /d{2,7}/g; // false  null
    //var patt18 = /z{3,5}/g; // zzzzz,zzz,zzzz
    var str18 = "abc zbbczzzzzzzz hhhzzzz"; 
    var b18 = patt18.test(str18);
    var s18 = str18.match(patt18);
    console.log("n{X,Y}正则测试" + b18 + "\n结果:" + s18);
    
    
    // n$   匹配任何结尾为 n 的字符串。
    //var patt19 = /z$/g; // z
    //var patt19 = /b$/g;  // null
    var patt19 = /c$/g; // null
    var str19 = "abc zbbczzzzzzzz hhhzzzz"; 
    var b19 = patt19.test(str19);
    var s19 = str19.match(patt19);
    console.log("n$正则测试" + b19 + "\n结果:" + s19);
    
    
    // ^n   匹配任何开头为 n 的字符串。
    // 示例同上
    
    
    // ?=n  匹配任何其后紧接指定字符串 n 的字符串。
    //var patt20 = /bc(?= czbbc)/g; // false null
    var patt20 = /bc(?= zbbc)/g; // true bc
    var str20 = "abc zbbczzzzzzzz hhhzzzz"; 
    var b20 = patt20.test(str20);
    var s20 = str20.match(patt20);
    console.log("?=n正则测试" + b20 + "\n结果:" + s20);
    
    
    // ?!n  匹配任何其后没有紧接指定字符串 n 的字符串。
    // 示例同上
    

    相关文章

      网友评论

          本文标题:JavaScript基础 JavaScript正则表达式

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