js正则匹配特殊字符

表情的处理问题:

要将表情替换成相应的图片


$.each(Expression.v5Emotions, function () {
    var v5 = new RegExp("\\["+this.name+"\\]","g");
    html = html.replace(v5, '');
});

classfiedEmotions:[{"type":"0","icon":"f000","name":"呲牙"},{"type":"0","icon":"f001","name":"调皮"}];



也可以直接定义replaceAll方法:

String.prototype.replaceAll = function(s1,s2){ 
	return this.replace(new RegExp(s1,"gm"),s2); 
};

注意用法:如果不包含正则表达式的特殊字符,比如中括号[]  , 大括号{} , 小括号(), 等等

可以直接用,如果有特殊字符的话:

要这样使用,比如:

var str = '我喜欢你[微笑]哈哈,你知道吗,[微笑]';  
var str1 = str.replaceAll('\\[微笑\\]', '滚');  
alert(str1); 

还有一个特殊的点:

尖括号<>

我之前没注意,想替换<微笑>这种,但是匹配失败,匹配的文本是html()过来的,后来发现

<>是html的特殊字符,html()得到的内容不含<>,而是 < > 所以尖括号不存在。所以匹配不到

你可能感兴趣的:(前端技术)