美文网首页
使用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