字符串拼接

場景:后端給你一個字段里面的一句話,ui要你顯示兩種樣式,后端不會用dom返回給你,這種情況怎么出處理,比如下面的文案包括手機號碼,這些內(nèi)容只在一個字段里面給你,而且返回的字段沒有dom及樣式,這個時候就需要自己拼接dom了


image.png

處理:跟后端約定好返回值,比如上面的電話需要特殊處理,那么讓后端給你返回值的時候在手機號前后拼接上特殊字符#,然后根據(jù)截取拼接出dom

<script>
    //后端返回給你的字符串
    let str = '租房請撥打以下電話#********1254#如果打不通請打#********9871#'
    function strHandle(str) {
        let arr = [];
        str.split('#').map((item,index)=>{
            if((index+1) % 2 === 0 && index > 0){
                item = "<div class='mobile'>"+item+"</div>"
            }
            arr.push(item);
        })
        return arr.join("");
    }
    let dom = strHandle(str)
    console.log(dom,'dom') // 處理后得到的字符串:租房請撥打以下電話<div class='mobile'>********1254</div>如果打不通請打<div class='mobile'>********9871</div>
    document.getElementById("wrap").innerHTML = dom
</script>

如果一個字符串需要3種樣式,你可以用另一個特殊字符去分割,再按照上面的方法去遍歷,也可以用{}去替代


image.png
<script>
    let str = '{尊敬的客戶:}租房請撥打以下電話#********1254#如果打不通請打#********9871#'
    function strHandle(str) {
        str = str.replaceAll('{','<div class="title">').replaceAll('}','</div>')
        console.log(str,'str') //<div class="title">尊敬的客戶:</div>租房請撥打以下電話#********1254#如果打不通請打#********9871#
        let arr = [];
        str.split('#').map((item,index)=>{
            if((index+1) % 2 === 0 && index > 0){
                item = "<div class='mobile'>"+item+"</div>"
            }
            arr.push(item);
        })
        return arr.join("");
    }
    let dom = strHandle(str)
    console.log(dom,'dom') // <div class="title">尊敬的客戶:</div>租房請撥打以下電話<div class='mobile'>********1254</div>如果打不通請打<div class='mobile'>********9871</div>
    document.getElementById("wrap").innerHTML = dom
</script>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容