JS11

作者: 社会你码ge | 来源:发表于2017-06-12 09:20 被阅读0次

    词边界---只对英文有效

    1、\b  词边界(单词的边界)

      console.log("hello helloworld".match(/\bhello/g));

      console.log("hello helloworld".match(/hello\b/g));

    2、\B  非词边界

    console.log("hello helloworld".match(/hello\B/g));

    正向预查(?=)

            字符串后面的值是???

    console.log("hellobaby helloworld".match(/hello(?=world)/g));

    console.log("hellobaby helloworld".search(/hello(?=world)/g));

    反向预查(!=)

            字符串后面的值不是???

    console.log("hellobaby helloworld".match(/Java(?!baby)/g));

    console.log("hellobaby helloworld".search(/Java(?!baby)/g));

    字符串边界 用于精确匹配

        ^  以指定字符开头

    console.log("abcdef".match(/^a/));

        $  以指定字符结尾

    console.log("abcdef".match(/f$/));

    正则表达式修饰符

    1、g执行全匹配(查找所有匹配)

    2、i执行对大小写不敏感

    3、m执行多行匹配(一般存在^或$时才会起作用)

    用于模式匹配的String方法

    1、search() 检索与正则表达式相匹配的第一个字符索引值

    2、match() 找到一个或多个正则表达式匹配的字符串

    3、replace() 替换与正则匹配的子串

    4、split() 把字符串以正则表达式分割成数组

            参数2;指定数组的长度 --超出范围将不起作用

    正则对象的方法

    1、test();检索字符串中指定的值。返回 true 或 false。

      console.log(/^\w{5}$/.test("abc"));

      console.log(/^\w{5}$/.test("abc3s"));

    2、exec();返回匹配的值,并确定其位置。不能使用g进行全局匹配。可以使用i console.log(/\w(\w)/.exec('abced45'));

     console.log(/\w/g.exec('abced45'));

    实例

        实例1. --匹配html标签 实例2. --匹配URL

            var str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit加入百度,加入网页搜索你可以影响世界,将简历发送至:http://www.baidu.com.cn/admin/info/config/index.php Laboriosam, libero, repellendus iste eum necessitatibus nemo cumque ipsum quos accusamus maiores et voluptas eaque provident excepturi expedita consequuntur';

            var res = /(http|https):\/\/([\w\.]+)\/((\w+\/)*)(\w+\.(\w+))/;

            var val = str.match(res);

            var s = "URL : "+val[0]+'<br>';

            s += "协议名 : "+val[1]+'<br>'

            s += "主机名(域名) : "+val[2]+"<br>";

            s += "路径名 : "+val[3]+"<br>";

            s += "文件名 : "+val[5]+"<br>";

            s += "后缀名 : "+val[6]+"<br>";

        实例2: 将文章中中文引号替换成英文引号

            vat text = "小明:“门前有条小河沟很难过”.老师:“小明,出去。”";

            var  res = text.replace(/”|“/g,’"’);

        实例3: 将文章中英文引号替换成中文引号

            var res = text.replace(/"([^"]*)"/g,"“$1”");

            注:$1代表第一个存入内存中的内容

        实例4: 将lady gaga 替换成gaga lady

        实例5: 尝试将数字格式化为千分位数字

        实例6: 将匈牙利命名法 改成驼峰命名法

            例如: border-bottom-width ->  borderBottomWidth

                    1. 使用字符串处理方法

                    2. 使用正则匹配方法

                    function show(str){

                           var reg = /-([a-z])/;

                           str.replace(reg,function($0,$1){

                                     return $1.toUpperCase();

                           });

                    }

    实例8: 尝试将所有的单词首字母变成大写

    相关文章

      网友评论

          本文标题:JS11

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