日期:2014-05-19  浏览次数:20728 次

额问个正则表达式的问题只能输入26额字母大小写和数字的
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{5,20})]]></param>
<message>您输入的用户名只能是字母或数字,且长度在6到20之间</message>
</field-validator>
书上是这么写的 <![CDATA[(\w{5,20})]]>
但是经过我的试验 发现下划线居然好使`
网上查正则表达式我认为可能是这么写[a-zA-Z0-9]  对不?
如果这么写对 那么怎么加入程序中?<param name="expression"><[a-zA-Z0-9]  ></param> 
这样写吗? 感觉不对劲

------解决方案--------------------
\w改为[0-9a-zA-Z]
\w多匹配一个_
------解决方案--------------------
\w 匹配字符,数字,下划线和中文。
我觉得lz的想法正确,\w需要替换为[a-zA-Z0-9].
这部分这样写试试:
<param name="expression"><![CDATA[([a-zA-Z0-9])]]></param>

------解决方案--------------------
^[a-zA-Z0-9]*$
------解决方案--------------------
^[a-zA-Z0-9]{1,}$
//表示1位以上的大小写+数字