0

我想测试用户是否在模式####-##-###-#### 中输入了任何字符或数字

我的表达式是 ^(\w){4}-(\w){2}-(\w){3}-(\w){4}$ 并且似乎适用于在线测试人员,但不适用于我的 validateExpression!

有任何想法吗?

这是我的代码(getComponentValye 是我自己获取值的函数)...

<xp:inputText id="nsn" value="#{ddsURFQCI.NSN}">
   <xp:this.validators>
    <xp:validateExpression>
     <xp:this.expression><![CDATA[#{javascript:getComponentValue("nsn").match(new RegExp("^(\w){4}-(\w){2}-(\w){3}-(\w){4}$", "i"))}]]></xp:this.expression>
     <xp:this.message><![CDATA[#{javascript:"NSN must match the pattern ####-##-###-####. (" + getComponentValue("nsn") + ")"}]]></xp:this.message>
     </xp:validateExpression>
   </xp:this.validators>
</xp:inputText>
<xp:message id="message1" styleClass="error" for="nsn"></xp:message>
4

1 回答 1

0

我把我的表达改成了这个,它起作用了...... ^[A-Za-z0-9]{4}-[A-Za-z0-9]{2}-[A-Za-z0-9]{3 }-[A-Za-z0-9]{4}$

于 2013-03-26T10:10:50.333 回答