判断汉字字母数字的正则表达式 错在哪里大家帮看看

c_delight 2006-12-07 02:01:19
if(/[[\u4e00-\u9fa5]|[A-Za-z0-9]]/.test(str))
{ alert("right!");}
else
{alert("error!")}

输入汉字 提示right
但是输入字母数字error

如果改成
if(/[[A-Za-z0-9]|[\u4e00-\u9fa5]]/.test(str))
{ alert("right!");}
else
{alert("error!")}

则输入字母数字right
而输入汉字error

为什么最后一个|后面的总是错的???
...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mike689689 2006-12-07
  • 打赏
  • 举报
回复
Amwpfiqvy(给我分吧,让我升仙)
说得没错
Apq001 2006-12-07
  • 打赏
  • 举报
回复
Try:
/[[A-Za-z0-9]|[\u4e00-\u9fa5]]/
==>
/[\w\u4e00-\u9fa5]/

不加^$及+的话,只是测试是否含有,更多的时候应该是用这个:
/^[\w\u4e00-\u9fa5]+$/
mike689689 2006-12-07
  • 打赏
  • 举报
回复
if(/[A-Za-z0-9]/.test(str))
{ alert("right!");}
else if(/[\u4e00-\u9fa5]/.test(str))
{alert("error!")}
根据搂住的意思,我怎么觉得应该是这样啊,
我没在javascript中用过正则,不过其他的我用过,是不是应该是这样?

87,910

社区成员

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

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