用js写一个校验中文字符个数和英文字符个数,并可以提取中文字符的方法
时间: 2024-03-01 08:50:15 浏览: 18
可以使用正则表达式来实现对中英文字符个数的校验和提取中文字符的方法。以下是示例代码:
```javascript
// 校验中英文字符个数
function checkCharCount(str) {
let cnCount = str.match(/[\u4e00-\u9fa5]/g) ? str.match(/[\u4e00-\u9fa5]/g).length : 0; // 中文字符个数
let enCount = str.match(/[a-zA-Z]/g) ? str.match(/[a-zA-Z]/g).length : 0; // 英文字符个数
return {
cnCount: cnCount,
enCount: enCount
};
}
// 提取中文字符
function extractChinese(str) {
let cnArr = str.match(/[\u4e00-\u9fa5]/g); // 匹配中文字符
return cnArr ? cnArr.join("") : ""; // 将匹配到的中文字符数组转为字符串返回
}
// 示例用法
let str = "Hello, 你好!";
let charCount = checkCharCount(str);
console.log("中文字符个数:", charCount.cnCount); // 输出:2
console.log("英文字符个数:", charCount.enCount); // 输出:7
let chinese = extractChinese(str);
console.log("中文字符:", chinese); // 输出:你好
```
以上代码中,`checkCharCount`函数使用了正则表达式来匹配中英文字符,计算中英文字符个数,并返回结果。`extractChinese`函数使用了正则表达式来提取中文字符,并将匹配到的中文字符数组转为字符串返回。
注意:由于中文字符占用两个字节,因此在计算字符个数时要注意区分中英文字符。