js 正则替换返回值做回调函数

正文开始

案例:将str中的 [(ass)]替换为html表情代码,map是表情对象


var map = {
            '[):]': 'ee_1.png',
            '[8o|]': 'ee_14.png',
            '[8-|]': 'ee_15.png',
            '[+o(]': 'ee_16.png',
            '[;)]': 'ee_3.png',
            '[8-)]': 'ee_23.png',
            '[<o)]': 'ee_17.png',
            '[|-)]': 'ee_18.png',
            '[*-)]': 'ee_19.png',
            '[^o)]': 'ee_22.png',
            '[:\'(]': 'ee_11.png',
            '[:-#]': 'ee_20.png',
            '[:-*]': 'ee_21.png',
            '[:-o]': 'ee_4.png',
            '[:p]': 'ee_5.png',
            '[:@]': 'ee_7.png',
            '[:s]': 'ee_8.png',
            '[:$]': 'ee_9.png',
            '[:(]': 'ee_10.png',
            '[:|]': 'ee_12.png',
            '[:D]': 'ee_2.png',
            '[(|)]': 'ee_24.png',
            '[(u)]': 'ee_25.png',
            '[(S)]': 'ee_26.png',
            '[(*)]': 'ee_27.png',
            '[(#)]': 'ee_28.png',
            '[(R)]': 'ee_29.png',
            '[({)]': 'ee_30.png',
            '[(})]': 'ee_31.png',
            '[(k)]': 'ee_32.png',
            '[(F)]': 'ee_33.png',
            '[(W)]': 'ee_34.png',
            '[(D)]': 'ee_35.png',
            '[(H)]': 'ee_6.png',
            '[(a)]': 'ee_13.png',
        }


str = str.replace(/\[([^\]]*)\]/g, function($1) {return map[$1]});

console.log(str);

 

正文结束

没有上一篇 jquery 属性升级 .attr('checked') 改为 .prop('checked')