Unicode中文编码范围:
16进制:\u4e00 ~ \u9fa5
十进制:19968 ~ 40869
找出包含中英文字符串中的中文:
1、charCodeAt()方法:返回指定位置的字符的 Unicode 编码。所以判断当前位置字符的Unicode 编码是否在汉字编码范围中。
function findChinese1(){
let str = "嗨~new friend(新朋友)";
let arr = [];
[...str].forEach((item,index)=>{
if(str.charCodeAt(index)>=19968 && str.charCodeAt(index)<=40869){
arr.push(item);
}
})
return arr;
}
console.log(findChinese1())
输出结果:
2、正则表达式,使用match()方法找到匹配值。
function findChinese2(){
let str = "嗨~new friend(新朋友)";
let arr = str.match(/[\u4e00-\u9fa5]/g);
return arr;
}
console.log(findChinese2())
输出结果: