js 正则字符串长度6-80其中至少包含5个非连续汉字
时间: 2024-03-09 21:47:30 浏览: 111
使用js验证填写的字符是否符合长度
以下是一个 JavaScript 正则表达式,用于检查字符串是否符合您的要求,即长度在 6 到 80 之间,且至少包含 5 个非连续汉字:
```javascript
/^(?!(?:.*[\u4e00-\u9fa5]){6})(?=.*[\u4e00-\u9fa5]).{6,80}$/
```
这个正则表达式使用了两个正向前瞻:
- `(?!(?:.*[\u4e00-\u9fa5]){6})`:排除了连续出现 6 个汉字的情况;
- `(?=.*[\u4e00-\u9fa5])`:至少包含一个汉字。
同时,使用了 `.{6,80}` 匹配长度在 6 到 80 之间的任意字符。
您可以使用 `test()` 方法来检测一个字符串是否符合这个正则表达式,例如:
```javascript
const regex = /^(?!(?:.*[\u4e00-\u9fa5]){6})(?=.*[\u4e00-\u9fa5]).{6,80}$/;
const str = '这是一个符合要求的字符串abc123';
if (regex.test(str)) {
console.log('字符串符合要求');
} else {
console.log('字符串不符合要求');
}
```
如果字符串符合要求,控制台会输出 "字符串符合要求";否则输出 "字符串不符合要求"。
阅读全文