正则表达式怎么匹配中文字符?

Newb.成娟 阅读 11

我在写一个表单验证,想用正则判断用户输入的是否是中文,但试了几个写法都不对。比如我用了 /[u4e00-u9fa5]/,结果输入“你好123”也能通过,明明里面有数字啊!

是不是这个正则只匹配了部分字符?我想要的是整个字符串都必须是中文才行。有没有正确的写法?

const isChinese = (str) => {
  return /[u4e00-u9fa5]/.test(str);
};
console.log(isChinese('你好123')); // 返回 true,但应该返回 false
我来解答 赞 5 收藏
二维码
手机扫码查看
1 条解答
ლ梓晴
ლ梓晴 Lv1
漏了 ^ 和 $ 锚点,加上就行了:

const isChinese = (str) => {
return /^[u4e00-u9fa5]+$/.test(str);
};
点赞 1
2026-03-08 22:00