正则表达式 汉字的匹配--很诡异
刚接触正则表达式,希望能来匹配汉字。
因此浏览了网络上的一些资料
知道了可以这样
str_char = "身份证 "
str_rule_rep = /^[\u4E00-\u9FA5]+$/
但是却在测试的时候,
str_rule_rep.test(str_char)
发现不行。
而把str_rule_rep 改成 /^[^\u4E00-\u9FA5]+$/
却可以了。。
但是具我所知:在中括号里面加^符号,是反义的意思。。而\u4E00-\u9FA5这个表示的是汉字。那么一反义后,不是就不是汉字了嘛,,,,,
希望各位高手给点自己的想法和理解。
------解决方案-------------------- <script type= "text/javascript ">
var str_char = "身 "
var str_rule_rep = /^[\u4E00-\u9FA5]+$/
alert(str_rule_rep.test(str_char)) //alert true
</script>
------解决方案--------------------/^[^\u4E00-\u9FA5]+$/
其实你对正则理解得没问题 而是对判断逻辑不理解
你得正则作用就是要返回false
------解决方案--------------------给你个好文,里面讲的很详细,相信你会有所收获
http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm