全国统一服务热线:400-633-9193

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);


  分享到:  
0.2383s