当前位置: 网学 > 编程文档 > Javascript > 正文

正则表达式\w不能匹配中文字符的的原因

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/03/19

鉴于大家对Javascript十分关注,我们编辑小组在此为大家搜集整理了“正则表达式\w不能匹配中文字符的的原因”一文,供大家参考学习

正则表达式 常用的元字符说明中\w匹配字母或数字或下划线或汉字
代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

测试发现\w不能匹配中文字符,代码如下:
var reg=/^[a-zA-Z]\w{5,17}/;
if (!(reg.test(s)))
 {
   alert("用户名长度在6~18之间,只能以字母开头,包含字符、数字和下划线!") ;
   return false ;
  }

最后测试研究发现;\w能不能匹配汉字要视你的操作系统和你的应用环境而定

在某些情况下,\w也会匹配本地字符集,比如中文系统的中文,全角数字等,所以在明确要求是A~Z,a~z,0~9,_ 中的一个的时候,用[A-Za-z0-9_],而不用\w

如果正则表达式\w不能匹配中文字符,你可以从以下两方面查找原因:

一是要看你的系统是什么系统,中文系统下是可以匹配汉字的
二是要看你的应用环境,如果是在C#程序中,是可以匹配汉字的,在javascript或验证控件中,是不可以匹配汉字的
其它\d,\s也是如此

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号