一个正则表达式问题,关于一个汉字2个字符的问题

choupiling 2011-12-09 06:14:49
您的昵称可以由小写英文字母、中文、数字组成,
长度4-20个字符,一个汉字为两个字符。

我用的正则表达式为var regName=/[\u4E00-\u9FA5a-z0-9]{4,20}/;
为什么中文也要4个字才能匹配呢??正确的正则应该怎么写?
...全文
1068 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
谁在谁的身旁 2013-07-01
  • 打赏
  • 举报
回复
/^([\u4E00-\u9FA5]|[a-z0-9]{2}){2,10}$/;用楼上所说的这个貌似字母或数字个数为奇数就不行了
诺维斯基 2011-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 soonfei 的回复:]
哦,我试了一下,不是半角和全角的问题。

我给你写了一个:可以用

var regName = /([\u4E00-\u9FA5]|[a-z0-9]{2}){2,10}/;
[/Quote]

还是用这个吧:var regName = /^([\u4E00-\u9FA5]|[a-z0-9]{2}){2,10}$/;
诺维斯基 2011-12-09
  • 打赏
  • 举报
回复
哦,我试了一下,不是半角和全角的问题。

我给你写了一个:可以用

var regName = /([\u4E00-\u9FA5]|[a-z0-9]{2}){2,10}/;
诺维斯基 2011-12-09
  • 打赏
  • 举报
回复
应该是半角和圆角的问题。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧