美文网首页
使用while循环replace/replace替换真值

使用while循环replace/replace替换真值

作者: 圆滚滚大煤球 | 来源:发表于2021-09-07 13:18 被阅读0次
    <script>
        var str = '<div>{{name}}今年{{age}}岁了</div>';

        // 匹配{{}}里面的\s空格,*0-n次,[a-zA-Z]大小写字母 +可以出现多次
        var pattern = /{{\s*([a-zA-Z]+)\s*}}/

        // 创建一个空的变量
        var patternResult = null;
        // (条件),条件必须有结束退出循环,这里是匹配不到了就结束
        while(patternResult = pattern.exec(str)) {
            str = str.replace(patternResult[0],patternResult[1])
        }
        console.log(str);//<div>name今年age岁了</div>
    </script>

replace替换真值

    <script>
        var data = {
            name:'小红',
            age: 3,
            sex:'公'
        }
        var str = '<div>名字:{{name}},年龄:{{age}}岁,性别:{{sex}}</div>'
         
        // 匹配{{}}里面的\s空格,*0-n次,[a-zA-Z]大小写字母 +可以出现多次
        var pattern = /{{\s*([a-zA-Z]+)\s*}}/
        
        var patternResult = null;
        while(patternResult = pattern.exec(str)) {
            // data[] 是取属性的格式,patternResult[1] = {{name}}的name或者{{age}}中的age等 
            str = str.replace(patternResult[0],data[patternResult[1]])
        }
        console.log(str);//<div>名字:小红,年龄:3岁,性别:公</div>
    </script>

相关文章

网友评论

      本文标题:使用while循环replace/replace替换真值

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