0
此函數當前使用正則表達式從字符串中刪除所有表情符號字符。我該如何反轉這一點,以便除去表情符號中的所有字符?如何從字符串中除去表情符號中的所有字符
var ranges = [
'\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF
'\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F
'\ud83d[\ude80-\udeff]' // U+1F680 to U+1F6FF
];
function removeEmoji() {
var str = $('#emoji').html();
str = str.replace(new RegExp(ranges.join('|'), 'g'), '');
$("#emoji").html(str);
}
$('button').on('click', function() {
removeEmoji();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="emoji">
<li></li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
<li></li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
</ul>
<button>Push Me</button>
嘗試'STR = str.replace(新正則表達式( 「(」 + ranges.join( '|')+ 「)|。」, 'G'), '$ 1' );'。或者,爲了保護標籤,'str = str.replace(new RegExp(「(<[^<]*?> |」+ ranges.join('|')+「)|。」,'g'),'$ 1');' –
這就是一個很好的答案,@WiktorStribiżew - 你應該把它作爲一個! – Bill