关于struts中的validator验证 正则表达式匹配中文求救

caoyi1201 2008-07-31 07:32:49
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<global>
<constant>
<constant-name>checkUsername</constant-name>
<constant-value>
^[\x0391-\xFFE5_a-zA-Z0-9]{4,12}$ </constant-value>
</constant>
<constant>
<constant-name>checkPassword</constant-name>
<constant-value>^\w{6,16}$</constant-value>
</constant>
<constant>
<constant-name>checkPhone</constant-name>
<constant-value>^\d{8,13}$</constant-value>
</constant>
</global>
<formset>
<form name="/login">
<field property="username" depends="required,mask">
<arg0 key="lable.username" />
<msg name="mask" key="mask.username" />
<var>
<var-name>mask</var-name>
<var-value>${checkUsername}</var-value>
</var>
</field>


<field property="password" depends="required,mask">
<arg0 key="lable.password" />
<msg name="mask" key="mask.password" />
<var>
<var-name>mask</var-name>
<var-value>${checkPassword}</var-value>
</var>
</field>

<field property="phone" depends="required,mask">
<arg0 key="lable.phone" />
<msg name="mask" key="mask.phone" />
<var>
<var-name>mask</var-name>
<var-value>${checkPhone}</var-value>
</var>
</field>

<field property="email" depends="required,email">
<arg0 key="lable.email" />
</field>
<field property="csny" depends="required,date">
<arg0 key="lable.csny" />
</field>
</form>
</formset>
</form-validation>

就是上面红色的那个,是不是struts中不支持/u???????.........正确该如何写............
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
frankyuJava 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 caoyi1201 的回复:]
晕,变成^[[/u4e00-/u9fa5]_a-zA-Z0-9]{4,12}$ 这样就好了。。。。。无语了
[/Quote]
我晕死了 经常犯低级错误
^[\u0391-\uFFE5_a-zA-Z0-9]{4,12}$ 是反斜杠

但是我的还不对,输入汉字还是通不过。
不知道\u0391-\uFFE5 和\u4e00-\u9fa5有什么区别?
好像前者包含汉字下的A-¥等 后者可能是纯汉字。
frankyuJava 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caoyi1201 的回复:]
..................打错了,刚才没Ctrl+z 应该是^[\u0391-\uFFE5_a-zA-Z0-9]{4,12}$....
[/Quote]
我刚才用的时候怎么不行啊
如下: 版本不同 我应该是1.2.9版的
[framework] 2009-02-24 16:19:05,171 - org.apache.struts.validator.FieldChecks -50578 [http-8080-Processor24] ERROR org.apache.struts.validator.FieldChecks - Invalid expression: ^[[/u4e00-/u9fa5]_a-zA-Z0-9]{4,12}$
Invalid [] range in expression.
org.apache.oro.text.MalformedCachePatternException: Invalid expression: ^[[/u4e00-/u9fa5]_a-zA-Z0-9]{4,12}$
Invalid [] range in expression.
at org.apache.oro.text.GenericPatternCache.getPattern(Unknown Source)
at org.apache.oro.text.perl.Perl5Util.__parseMatchExpression(Unknown Source)
at org.apache.oro.text.perl.Perl5Util.match(Unknown Source)
at org.apache.oro.text.perl.Perl5Util.match(Unknown Source)
caoyi1201 2008-07-31
  • 打赏
  • 举报
回复
晕,变成^[[/u4e00-/u9fa5]_a-zA-Z0-9]{4,12}$ 这样就好了。。。。。无语了
caoyi1201 2008-07-31
  • 打赏
  • 举报
回复
..................打错了,刚才没Ctrl+z 应该是^[\u0391-\uFFE5_a-zA-Z0-9]{4,12}$....

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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