使用JavaScript语法写一个正则,用于只显示数字,字母和中文

409 阅读1分钟

可以使用JavaScript中的正则表达式(Regular Expression)来过滤出数字、字母和中文。以下是一个例子:

let str = "Hello, 你好!123456";

// 使用正则表达式过滤出数字、字母和中文
let filteredStr = str.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '');

console.log(filteredStr); // 输出:Hello你好123456

这里使用了 replace() 方法来替换字符串中的非数字、非字母和非中文字符。正则表达式 [^\u4e00-\u9fa5a-zA-Z0-9] 匹配除了中文、字母和数字以外的所有字符,并使用空字符串进行替换。其中,\u4e00-\u9fa5 是汉字的 Unicode 范围。

过滤emoji

const removeEmoji = (content) => {
      return content.replace(/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g, "");
}