JS中关于正则的巧妙操作
网络 2017-09-12 1154
具体代码如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var msg="dsada[emoji:37]dsadas[emoji:3900]法拉綏芬河"; function fetch(msg) { var match, result = msg, reg = /\[emoji:\d+\]/g, emojiIndex, totalEmojiNum = 45; while (match = reg.exec(msg)) { console.log(match[0]);//[emoji:37],[emoji:3900] emojiIndex = match[0].slice(7, -1); console.log(emojiIndex);//37,3900 if (emojiIndex > totalEmojiNum) { result = result.replace(match[0], '[X]'); } else { result = result.replace(match[0], '<img src="images/eomji_' + emojiIndex + '.gif" />'); }; }; return result;//"dsada<img src="images/eomji_37.gif" />dsadas[X]法拉綏芬河" } fetch(msg); |